Twitter Bootstrap - 导航栏内的下拉菜单,但在导航崩溃之外

Tim*_*all 7 navbar twitter-bootstrap

我想在导航栏中添加一个下拉列表,但要确保在将浏览器调整为较窄的宽度时,下拉列表在导航栏中仍然可见,并且不包含在导航折叠中.

下面的HTML工作.但是,当页面调整大小时,下拉列表会下降到下一行,并在导航栏中显示展开,让我有一个非常深的导航栏.

我正在调用bootstrap-collapse.js和bootstrap-dropdown.js.

有人有任何想法吗?

<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>
      <a class="brand" href="#">Project</a>
      <div class="nav-collapse">
        <ul class="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><!--/.nav-collapse -->
      <div class="container">
        <ul class="nav pull-right">
            <li class="divider-vertical"></li>
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Sharing<b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="#">Twitter</a></li>
                    <li><a href="#">Facebook</a></li>
                    <li><a href="#">Google+</a></li>
                </ul>
            </li>
        </ul>
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Tay*_*sak 11

根据引导程序开发人员Mark Otto的说法:

导航栏中.nav内的所有下拉列表都将受到影响.目前我们没有提供防止此行为的方法.

但是,折叠的导航栏中可能会出现未折叠的下拉列表.您可以通过以下三种方式之一完成此任务:

  1. 将数据属性添加到下拉列表(data-no-collapse="true")以修复响应式选择器.
  2. 替换下拉列表(class="dropdown-menu-no-collapse")以从头开始重建其样式.
  3. 在dropdown(class="dropdown-menu no-collapse)中添加另一个类以覆盖响应式样式.

我写了一篇博文,解释了该怎么做.第一种方法需要编辑bootstrap-responsive.css,第二种方法需要更改bootstrap.css.您不必为第三种方法更改任何引导程序的CSS,但它很难维护.


Gep*_*ens 0

这是因为容器被填充到右侧或类似的东西。分别使用 margin-right 和 margin-left : -30px; 分别位于最右边和最左边的无序列表上。

不太漂亮,但直到他们修复它......