完美的100%宽度的父容器用于Bootstrap输入?

Dav*_* J. 63 css twitter-bootstrap

如何使Bootstrap输入字段与其父字段完全相同?

正如史蒂夫 - 奥布莱恩在Bootstrap问题#1058中写道:

直接应用于输入字段时,设置为100%不起作用,因为它不考虑填充.因此,您最终得到100%的容器加上输入框上的填充,因此输入框通常会在容器外部打破.

该票提供了各种解决方案,但我正在寻找最好的方法 - 最好是已经由Bootstrap提供的CSS类.

Dav*_* J. 107

应用该input-block-level课程对我来说非常适合各种屏幕宽度.它由Bootstrapmixins.less定义如下:

// Block level inputs
.input-block-level {
  display: block;
  width: 100%;
  min-height: 28px;        // Make inputs at least the height of their button counterpart
  .box-sizing(border-box); // Makes inputs behave like true block-level elements
}
Run Code Online (Sandbox Code Playgroud)

这与'汇编'在他对问题#1058的评论中提出的风格非常相似.

  • 在BS 3中,输入上有一个覆盖`max-width:280px`,它覆盖了`form-control`类.实际上,没关系,这是微软在新的ASP.NET项目中包含的默认Site.css.嘘! (39认同)
  • 对于Bootstrap 3,使用`form-control`,它增加了`width:100%` (15认同)
  • @Finster嘘,的确如此. (4认同)
  • @Finster OMG,非常感谢Fin!这让我很疯狂,为什么我的输入不会增长.愚蠢的微软...... GRRR! (4认同)

Lau*_*att 20

只需添加盒子大小:

input[type="text"] {
    box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)

  • 输入[类型=文本] {宽度:100%; 框大小:border-box;高度:28px;为我工作 (4认同)

Dav*_*ave 8

如果您使用的是C#ASP.NET MVC的默认模板,您可能会发现site.css会覆盖一些Bootstraps样式.如果你想使用Bootstrap,就像我一样,让M $覆盖它(在你不知情的情况下)可能会让人非常沮丧!随意删除任何不需要的样式......

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 280px;
}
Run Code Online (Sandbox Code Playgroud)


kur*_*age 7

对于Google上的任何人,一个建议是删除所有input-group类实例.在类似的情况下为我工作.原始代码:

<form>
  <div class="bs-callout">
    <div class="row">
      <div class="col-md-4">
        <div class="form-group">
          <div class="input-group">
            <input type="text" class="form-control" name="time" placeholder="Time">
          </div>
        </div>
      </div>
      <div class="col-md-8">
        <div class="form-group">
          <div class="input-group">
            <select name="dtarea" class="form-control">
              <option value="1">Option value 1</option>
            </select>
          </div>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="input-group">
        <input type="text" name="reason" class="form-control" placeholder="Reason">
      </div>
    </div>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)
使用输入组

新代码:

<form>
  <div class="bs-callout">
    <div class="row">
      <div class="col-md-4">
        <div class="form-group">
          <input type="text" class="form-control" name="time" placeholder="Time">
        </div>
      </div>
      <div class="col-md-8">
        <div class="form-group">
          <select name="dtarea" class="form-control">
            <option value="1">Option value 1</option>
          </select>
        </div>
      </div>
    </div>
    <div class="row">
      <input type="text" name="reason" class="form-control" placeholder="Reason">
    </div>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)
没有输入组


Fed*_*ete 5

我找到了一种适用于我的情况的解决方案:

<input class="form-control" style="min-width: 100%!important;" type="text" />
Run Code Online (Sandbox Code Playgroud)

您只需要覆盖最小宽度设置100%重要,结果就是这样:

在此处输入图片说明

如果您不应用它,将始终得到以下信息:

在此处输入图片说明