我想在导航栏中添加一个下拉列表,但要确保当浏览器调整为较窄的宽度时,下拉列表仍然在导航栏中可见,并且不包含在导航折叠中.
下面的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>
解决方法
According to Mark Otto,bootstrap的开发人员之一:
All dropdowns within the .nav in the navbar will be affected. Currently we don’t offer a way to prevent this behavior.
但是,折叠的导航栏中可能会出现未折叠的下拉列表.您可以通过以下三种方式之一完成此任务:
>将数据属性添加到下拉列表(data-no-collapse =“true”)以修复响应选择器.
>替换下拉列表(class =“dropdown-menu-no-collapse”)以从头开始重建其样式.
>在下拉列表中添加另一个类(class =“下拉菜单no-collapse)以覆盖响应式样式.
I wrote a blog post解释了该怎么做.第一种方法需要编辑bootstrap-responsive.css,第二种方法需要更改bootstrap.css.您不必为第三种方法更改任何引导程序的CSS,但它很难维护.