我使用的固定导航栏在桌面浏览器上工作正常,但当导航栏折叠时,搜索会分为两行(http://www.employees.org/~vivek/how_it_looks.png)。我如何确保搜索表单。菜单崩溃后仍然保持在顶部 - 类似于yelp移动界面(http://www.employees.org/~vivek/yelp_look.png)
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<!-- Fixed navbar -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<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="#">Brand</a>
<form class="navbar-form navbar-header">
<input type="text" class="form-control" placeholder="... ">
</form>
</div>
<div id="navbar" class="navbar-collapse collapse">
<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="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action</a>
</li>
<li><a href="#">Another action</a>
</li>
<li><a href="#">Something else here</a>
</li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a>
</li>
<li><a href="#">One more separated link</a>
</li>
</ul>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</nav>
答案 0 :(得分:7)
当您查看Bootstrap的源CSS时,.navbar-form
意图将在崩溃内使用。并且.navbar-header也是一个清除并且不应该嵌套的类。因此,请将课程从navbar-form navbar-header
更改为navbar-left navbar-search
。
然后你需要编写一些CSS来调整自定义实现的内容。如果您添加内容或更改它,CSS可能无法正常工作。
如果您愿意,可以将第二个媒体查询中的400px调整为更低的值。
不同的HTML:
<form class="navbar-left navbar-search">
<input type="text" class="form-control" placeholder="... ">
</form>
<强> CSS 强>
@media (min-width:0px) and (max-width:767px) {
.navbar {
display: table;
width: 100%;
}
.navbar-brand,
.navbar-search,
.navbar-toggle { display: table-cell }
.navbar-search {
padding: 7.5px 10px 0 0;
width: 1%;
}
}
@media (max-width:400px) {
.navbar-search {
padding: 7.5px 15px;
float: left;
clear: both;
width: 100%;
}
}
@media (min-width:768px) {
.navbar-search {
float: left;
margin: 7.5px 0;
}
}