繁体   English   中英

Bootstrap 3导航栏右边距不应该是-15px

[英]Bootstrap 3 navigation bar right margin is not supposed to be -15px

在我的网页中,我有一个 Bootstrap 3 导航栏:

<body>

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="navbar-header">
    <a class="navbar-brand" href="#">Teachlab</a>
  </div>

  <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

    <ul class="nav navbar-nav navbar-right">
      <li><%= link_to "Home", '#' %></li>
      <li><%= link_to "Help", '#' %></li>
      <li><%= link_to "Sign in", '#' %></li>
    </ul>
  </div>
</nav>

<div class="container">
  <%= yield %>
</div>

</body>

问题是导航要靠近屏幕边缘。 如果我从导航栏中删除navbar-fixed-top ,它会按我的意愿工作。

有什么提示吗?

从 3.1.1 开始使用 .container-fluid。

结构不正确。 .navbar-right 位于 .collapse 容器上,而不是 ul 上。

示例:http: //jsbin.com/eQIROsE/2/edit

    <div class="navbar navbar-fixed-top navbar-default">
<div class="navbar-header">
  <a class="navbar-brand" href="#">Project name</a>
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button> 
  </div>
    <div class="navbar-collapse collapse navbar-right">
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a>
            </li>
            <li><a href="#about">About</a>
            </li>
            <li><a href="#contact">Contact</a>
            </li>
        </ul>
      </div>
      <!--/.navbar-collapse -->
  </div>

我最终覆盖了以下内容:

.navbar-nav.navbar-right:last-child {
    margin-right: 0;
}

但也许还有另一种解决方案?

它已损坏, 无法3.x中修复。 破解它。

.navbar-right {
    margin-right: 0px;
}

解决方案可能是

 <!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
   <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Project name</a>
    </div>
    <div class="navbar-collapse collapse">

      <ul class="nav navbar-nav navbar-right">
        <li><a href="../navbar/">Default</a></li>
        <li><a href="../navbar-static-top/">Static top</a></li>
        <li class="active"><a href="./">Fixed top</a></li>
      </ul>
    </div><!--/.nav-collapse -->
    </div>
</div>

它对我有用。

我真的不明白为什么你会有两个 .navbar-nav.navbar-right。 只需将导航包裹在 .navbar-right 中即可。

<div class="navbar-right">
  <ul class="nav navbar-nav">...</ul>
  <ul class="nav navbar-nav">...</ul>
</div>

我今天遇到了完全相同的问题! 根据 Bootstrap doc <ul class="nav navbar-nav navbar-right">是正确的。

像你一样,我通过将 nav navbar-nav navbar-right margin-right 设置为 0px 解决了这个问题,而没有注意到不需要的效果。

请注意, .navbar-text .navbar-right:last-child 的 margin-right 值为 0px 而.navbar-nav .navbar-right:last-child margin-right 值为 -15px ......奇怪吗?

https://github.com/twbs/bootstrap/issues/13325

我的解决方案不是那么优雅,但做得很快,添加最后一个列表项;

<li><span>&nbsp;&nbsp;</span></li>

如果你有问题

边距右:-15px;

在 .navbar-right 然后添加你的 CSS 样式

.navbar-right {
    margin-right: 0px; 
}

如果这仍然不起作用,请在您的 webstie 运行时从所有历史记录中清除您的浏览器并再次调试它。 有用 :)

(在 asp.net mvc 中修复)我在 asp.net mvc c# 中遇到了同样的问题,我修复它的方法是转到 Contents/bootstrap.css 我找到了.navbar{}类并将其添加为 5 的填充px,这对我有用。

这是你找到它时的样子..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM