在Twitter bootstrap 2.3.2我可以有类似的东西: http://jsfiddle.net/aQwUZ/3/
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a href="#" class="brand">BRAND</a>
<ul class="nav pull-right">
<li>
<a href="#">Fixed Link</a>
</li>
</ul>
<div class="nav-collapse">
<ul class="nav">
<li><a href="#">L1</a></li>
<li><a href=#">L2</a></li>
</ul>
</div>
</div>
</div>
</div>
一个Twitter引导导航栏,在移动响应视图中,“固定链接”在标题中保持可见。
现在,在bootstrap 3中,升级我的代码后,我只能: http://jsfiddle.net/EC3Ly/4/
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">BRAND</a>
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#">Fixed Link</a>
</li>
</ul>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="#">L1</a></li>
<li><a href=#">L2</a></li>
</ul>
</div>
</div>
</nav>
在移动响应视图中,我得到2行... 我试图在“navbar-header”节点http://jsfiddle.net/EC3Ly/5/或第一个“navbar-header”中包装但没有成功。
我错过了什么?
谢谢,
亚历山大
答案 0 :(得分:14)
我遇到了与BS3相同的问题,我发现解决问题的唯一方法是使用pull-left
和pull-right
的组合
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header pull-left">
<a class="navbar-brand" href="#">BRAND</a>
</div>
<div class="navbar-header pull-right">
<ul class="nav navbar-nav pull-left">
<li>
<a href="#">Fixed Link</a>
</li>
</ul>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="#">L1</a></li>
<li><a href="#">L2</a></li>
</ul>
</div>
</div>
</nav>
答案 1 :(得分:11)
移动导航栏中的两行是由navbar-header的clearfix引起的:
.navbar-header {
.clearfix();
@media (min-width: @grid-float-breakpoint) {
float: left;
}
}
您可以使用媒体查询和css撤消此clearfix(并在折叠下拉列表前添加新内容)
.navbar-right {float: right !important;}
@media(max-width:767px)
{
.navbar-right {margin-right:20px;}
.navbar-header:after
{
clear: none;
}
.navbar-nav.navbar-right > li { float: left; }
.navbar-collapse:before {clear:both;}
.navbar-collapse {overflow-y: hidden;}
.navbar-collapse.in {overflow-y: visible;}
.navbar{border-color: #101010; border-width: 0 0 1px;}
.navbar-collapse.in > ul {border-color: #101010; border-top:1px double;}
}
}
媒体查询还会在较小的屏幕上为导航栏右侧添加一个浮动。要在生产中使用此代码,您可能会修复边框并可能进行导航栏css转换。
答案 2 :(得分:0)
问题出在navbar
崩溃的地步。默认情况下,Bootstrap以768px折叠。如果你增加这一点,你的navbar
会更快崩溃,你的问题就会消失。
执行此操作的最佳方法是自定义引导文件并将@grid-float-breakpoint
更改为850px(或您需要的任何大小)。您可以从http://getbootstrap.com/customize/?id=9720390
希望这有帮助。
答案 3 :(得分:0)
<!-- Branding Image -->
<a class="navbar-brand" href="{{ url('/') }}">Home</a>
<!-- Fake branding to avoid breaking up navbar -->
<a class="navbar-brand navbar-brand-fake">Item 1</a>
<a class="navbar-brand navbar-brand-fake">Item 2</a>
并将其添加到您的css文件中:
a.navbar-brand-fake {
font-size: 15px;
line-height: 21px;
margin-left: 2px !important;
}
Home,项目1和项目2在调整大小时保留在导航栏中,导航栏不会中断。