我正在从Twitter Bootstrap版本2.3.2迁移到最新版本3 RC1。现在,顶部导航栏中的搜索按钮遇到了一个问题。 HTML代码如下:
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<a class="navbar-brand" href="#">Brand</a>
<div class="nav-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="#">Nav Item 1</a></li>
<li class="active"><a href="#">Nav Item 2</a></li>
<li><a href="#">Nav Item 3</a></li>
<li><a href="#">Nav Item 4</a></li>
</ul>
<form class="navbar-form pull-right">
<div class="input-group">
<input type="search" class="form-control" placeholder="Search"/>
<span class="input-group-btn">
<button type="submit" class="btn btn-default">Search</button>
</span>
</div>
</form>
</div>
</div>
</div>
</body>
问题是,它可以在Firefox中完美运行,但是在Chrome或IE 9中,它会使搜索框超长,从而将搜索框和按钮移动到导航栏下方。
我尝试进行问题排查,发现如果我从表单中删除了“向右拉”,则搜索框和按钮将被移至与导航项内联的上方,但失去了向右拉带来的效果-它会占据导航栏中的所有行空间对。
此外作为调试,如果我用替换搜索表单
<form class="navbar-form pull-right">
<div class="input-group">
<input type="text" placeholder="Search">
<button type="submit" class="btn btn-default">Search</button>
</div>
</form>
这样就可以很好地工作了;但这也不是我的目的
我的代码有问题吗?还是版本3 RC 1有问题?反正解决呢?
最佳答案
您可以将col-sm-4
类添加到<form>
元素。
这应该使它们保持正确的宽度,具体取决于屏幕的宽度。
尝试调整列大小(col-sm-**),直到获得所需的方式。
See this jsFiddle demo