Bootstrap 导航菜单换行

Bootstrap nav menu going to new line

我正在开发一个带有相当大徽标和大菜单的网站。

问题是 bootstrap 菜单项(带有 <a> 标签和菜单项)在页面宽度减小时换行,即使 space 是空的它可以占据。

有人可以解释为什么会这样吗?

注:

  1. 在视口宽度为 996px 时,徽标和菜单在同一行并且右侧有足够的 space
  2. 在视口宽度为 986px 时,菜单现在转到第二行,尽管(我认为)它应该占据右边的 space

示例 js-fiddle:

https://jsfiddle.net/ahmed_anas/oq09gksL/

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>

<nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <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 id="navbar" class="collapse navbar-collapse" style="
    /* float: right; */
    /* width: 0px; */
">
          <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>
  <li class="active"><a href="#">Home</a></li><li class="active"><a href="#">Home</a></li>
            
            <li><a href="#about">About</a></li><li><a href="#about">About</a></li>
            
            <li><a href="#contact">Contact</a></li><li><a href="#contact">Contact</a></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </nav>

我认为这是因为容器 div 上的媒体查询强制它在视口宽度小于 992px 时具有 750px 的宽度。在 chrome 检查器中,您可以看到如下媒体查询:

@media (min-width: 992px)
.container {
    width: 970px;
}
@media (min-width: 768px)
.container {
    width: 750px;
}