【问题标题】:Using input-block-level with input-prepend in Twitter Bootstrap 2.3.2在 Twitter Bootstrap 2.3.2 中使用 input-block-level 和 input-prepend
【发布时间】:2013-08-24 11:19:11
【问题描述】:

我想知道如何使用响应式布局的 twitter bootstrap 2.3.2 中的输入前置图标使输入字段填充可用宽度?

bootstrap input-block-level 中有一种 css 样式,女巫可以正常工作,直到您在输入前加上一个图标...如何通过 prependet 输入获得相同的功能?

<div class="control-group">
  <label class="control-label" for="inputIcon">Email address</label>
  <div class="controls">
    <div class="input-prepend ">
      <span class="add-on"><i class="icon-envelope"></i></span>
      <input class="span2" id="inputIcon" type="text" class="input-block-level">
    </div>
  </div>
</div>
<div class="control-group">
    <label class="control-label" for="inputPassword">Password</label>
    <div class="controls">
      <input type="password" id="inputPassword" placeholder="Password" class="input-block-level">
    </div>
</div>

这里是说明此问题的代码示例:http://jsfiddle.net/r3CyL/

【问题讨论】:

    标签: twitter-bootstrap twitter-bootstrap-2


    【解决方案1】:

    你需要添加一些额外的 CSS

    演示jsFiddle

    .input-prepend.input-block-level {
      display: table; 
    }
    .input-prepend.input-block-level .add-on {
      display: table-cell;
    }
    .input-prepend.input-block-level > input {
      width: 100%;
    }
    

    您可以将border 颜色添加到input-prepend.input-block-level .add-on { 以改善其外观。

    input-prepend.input-block-level .add-on {
        display: table-cell;
        border-right: #fff;
    }
    

    已编辑

    另一种更复杂的方式。这也是 Bootstrap 认可的。

    演示jsFiddle

    .input-append.input-block-level,
    .input-prepend.input-block-level {
      display: table;
    }
    
    .input-append.input-block-level .add-on,
    .input-prepend.input-block-level .add-on {
      display: table-cell;
      width: 1%; /* remove this if you want default bootstrap button width */
    }
    
    .input-append.input-block-level > input,
    .input-prepend.input-block-level > input {
      box-sizing: border-box; /* use bootstrap mixin or include vendor variants */
      display: table; /* table-cell is not working well in Chrome for small widths */
      min-height: inherit;
      width: 100%;
    }
    
    .input-append.input-block-level > input {
      border-right: 0;
    }
    
    .input-prepend.input-block-level > input {
      border-left: 0;
    }
    

    【讨论】:

    • 我看了你的小提琴并解决了你的问题。现在可以了。
    • 对我来说不能正常工作。图标未正确定位。将它们包装在 div/span/whatever 中,并为包装器提供类插件为我解决了它:jsfiddle.net/M6EAY/11
    猜你喜欢
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 2015-09-28
    • 2013-08-07
    相关资源
    最近更新 更多