Bootstrap如何使用帮助块来处理内联和水平表单

时间:2013-06-18 20:20:33

标签: css twitter-bootstrap

我想使用Bootstrap表单水平布局设置一个表单,其中控件采用内联布局,同时仍然可以在每个字段下面包含帮助块文本。

我已经能够使用下面的代码完成所需的布局。

<form class="form-horizontal">
            <div class="control-group">
                <span class="control-label">Name</span>
                <div class="controls form-inline">
                    <input type="text" class="input-large" placeholder="First" id="FirstName">
                    <input type="text" class="input-mini" placeholder="M.I." id="FirstName">
                    <input type="text" class="input-large" placeholder="Last" id="LastName">
                </div>
            </div>
        </form>

但是我希望能够将help-block类添加到每个字段,如下所示:

<input type="text" id="FirstName" class="input-large" >
<p class="help-block">First Name</p>

我正在寻找的例子:

Example Image

有什么建议吗?

3 个答案:

答案 0 :(得分:6)

我不相信有一种方法可以使用Bootstrap,但你可以使用额外的标记和一些CSS来实现。

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

HTML:

<form>
    <div class="control-group">
        <label class="control-label">Name</label>
        <div class="my-special-form">
            <div>
                <input type="text" class="input-large" placeholder="First" id="FirstName">
                <p class="help-block">First Name</p>
            </div>
            <div>
                <input type="text" class="input-mini" placeholder="M.I." id="FirstName">
                <p class="help-block">M.I</p>
            </div>
            <div>
                <input type="text" class="input-large" placeholder="Last" id="LastName">
                <p class="help-block">Last</p>
            </div>
        </div>
    </div>
</form>

CSS:

.my-special-form div {
    float: left;
}

答案 1 :(得分:3)

由于boostrap3支持使用.row.col - 类来控制表单外观。

这使您可以更好地控制各种屏幕尺寸而不是水平形式。请查看http://getbootstrap.com/css/#forms-control-sizes

使用Boostrap3中提供的示例,您可以在表单中解决此问题(不使用.form-inline)。

<div class="row">
  <div class="col-xs-2">
    <input type="text" class="form-control" placeholder=".col-xs-2">
    <p class="help-block">First Name</p>
  </div>
  <div class="col-xs-3">
    <input type="text" class="form-control" placeholder=".col-xs-3">
    <p class="help-block">M.I</p>
  </div>
  <div class="col-xs-4">
    <input type="text" class="form-control" placeholder=".col-xs-4">
    <p class="help-block">Last</p>
  </div>
</div>

答案 2 :(得分:1)

fiddle here

CSS(从引导程序覆盖某些类)

.help-block{line-height:0px;}
.controls{display:inline-block;vertical-align:top;}

不幸的是,在小屏幕中,控制div阻止了很长的输入