【问题标题】:Prevent input-group from spanning full width of Bootstrap nav bar防止输入组跨越 Bootstrap 导航栏的整个宽度
【发布时间】:2014-02-12 22:21:08
【问题描述】:

我有一个 Twitter-Bootstrap 导航栏,其中包含一个搜索表单

我遇到的问题是,当我使用输入组时,搜索栏跨越了导航栏的整个宽度

这是一个小提琴

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。

谢谢

【问题讨论】:

    标签: html css twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    您可以在div.input-group 中添加col-xs-4 col-sm-4 col-md-4 col-lg-4 类以保留响应功能。

    【讨论】:

      【解决方案2】:

      你可以试试这个……

      <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

      【讨论】:

        【解决方案3】:

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

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

        (我做了 20%,但你可以添加任何内容)。

        我总是在引导程序中使用 %,这样我的更改不会对其响应能力产生负面影响。

        编辑:修正了我正在设计的标签

        【讨论】:

        • 百分比不好,因为它确实会影响响应速度。尤其是在更改媒体尺寸和整个布局更改时。想象一下小型 4" 设备上 20% 的宽度......应该是 100% - 我认为这不是一个好的解决方案
        【解决方案4】:

        在 Bootstrap V4(2019 年 2 月)中,正确的做法是使用 w-auto

        在最小的屏幕尺寸.input-group 上,宽度为 100%,在所有其他屏幕尺寸上,宽度是自动的。

        <div class="input-group w-auto">
          <input type="text" class="form-control" />
        </div>
        

        真的很直接!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-15
          • 1970-01-01
          • 2020-07-14
          • 2015-12-12
          相关资源
          最近更新 更多