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

时间:2012-02-21 21:56:30

标签: twitter-bootstrap navbar

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

下面的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>

2 个答案:

答案 0 :(得分:11)

According to Mark Otto,引导程序的开发人员之一:

  

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

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

  1. 将数据属性添加到下拉列表(data-no-collapse="true")以修复响应式选择器。
  2. 替换下拉列表(class="dropdown-menu-no-collapse")以从头开始重建其样式。
  3. 在下拉列表中添加另一个类(class="dropdown-menu no-collapse)以覆盖响应式样式。
  4. I wrote a blog post解释了该怎么做。第一种方法需要修改bootstrap-responsive.css,第二种方法需要更改bootstrap.css。您不必为第三种方法更改任何引导程序的CSS,但它很难维护。

答案 1 :(得分:0)

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

不是很漂亮,但在他们解决之前......