防止input-group跨越整个Bootstrap导航栏的宽度

3
我有一个 Twitter-Bootstrap 导航栏,其中包括一个搜索表单。
我的问题是,当我使用 input-group 时,搜索栏会跨越整个导航栏的宽度。
这是一个示例代码: http://jsfiddle.net/ce3SS/
<div class="navbar navbar-inverse" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#header-nav">
        <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">Brand name</a>
    </div>
    <div class="navbar-collapse navbar-right collapse" id="header-nav">
      <form class="navbar-form navbar-right form-inline" role="form">
        <div class="form-group">
          <label class="sr-only" for="inputSearch">Search...</label>
          <div class="input-group">
            <input type="text" class="form-control" id="inputSearch" name="inputSearch" placeholder="Search...">
            <span class="input-group-btn">
              <button class="btn btn-default" type="button">Search</button>
            </span>
          </div>
        </div>                
      </form>
    </div>
  </div>
</div>

有什么办法可以使搜索框大小更合理且向右对齐,而不需要CSS的hack技巧。
谢谢。
4个回答

1
你可以在 div.input-group 中添加 col-xs-4 col-sm-4 col-md-4 col-lg-4 类,以保留响应式特性。

0

你可以尝试这个...

<div class="navbar-collapse collapse" id="header-nav">
      <form class="navbar-form">
          <div class="form-group" style="display:inline;">
            <div class="input-group">
              <input type="text" class="form-control">
              <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span>
            </div>
          </div>
      </form>
</div>

演示:http://bootply.com/107803

0

应该是一个简单的修复。您只需要使用CSS将宽度应用于输入字段,然后可以移动它。尝试在标记本身上添加样式。

<div class="input-group" style="width: 20%"> 

我已经完成了20%,但你可以添加任何内容。

我总是使用Bootstrap的%来使我的更改不会对其响应性产生负面影响。

编辑:修正了我要样式化的标签。


1
百分比不好,因为它会影响响应性...特别是在更改媒体大小和整个布局更改时。想象一下,在小型4英寸设备上的20%宽度..应该是100%-我认为这不是一个好的解决方案。 - Piotr Kula

0
在 Bootstrap V4(2019 年 2 月)中,正确的方法是使用 w-auto
在最小屏幕大小上,.input-group 的宽度为 100%,在所有其他屏幕大小上,宽度为自动。
<div class="input-group w-auto">
  <input type="text" class="form-control" />
</div>

非常直接明了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接