我有一个非常简单的Bootstrap 3表单,当我不使用input-group-addon
时,我可以轻松(自动)对齐。
在我的形式中使用它们之后,它是不可能对齐的(由于添加了插件,带插件的线条更宽)
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="product_name" class="col-sm-2 control-label">Product name</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="product_name" placeholder="Product name">
</div>
</div>
<div class="form-group">
<label for="product_price" class="col-sm-2 control-label">Price</label>
<div class="col-sm-4 input-group">
<span class="input-group-addon">$</span>
<input type="text" class="form-control bfh-number" id="product_price" placeholder="Price" data-min="0" data-max="9999999">
<span class="input-group-addon">.00</span>
</div>
</div>
<div class="form-group">
<label for="product_description" class="col-sm-2 control-label">Description</label>
<div class="col-sm-6">
<textarea class="form-control" id="product_description" placeholder="Description" rows="5"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
JsFiddle:http://jsfiddle.net/Yzxy3/
答案 0 :(得分:33)
输入组的Bootstrap文档说:
不要将输入组与其他组件混合。(参见:http://getbootstrap.com/components/#input-groups)
不要将表单组或网格列类直接与输入组混合使用。而是将输入组嵌套在表单组或网格相关元素中。“
所以你不能在同一个班级中混合“col-sm-4”和“input-group”。你必须创建2个div类,第一个使用“col-sm-4”,另一个使用“input-group”
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-addon">$</span>
<input type="text" class="form-control bfh-number" id="product_price" placeholder="Price" data-min="0" data-max="9999999">
<span class="input-group-addon">.00</span>
</div>
</div>
<强> Updated Fiddle 强>
答案 1 :(得分:17)
这是因为.input-group
有默认
padding-right: 0;
padding-left: 0;
因此div
会延伸到整个宽度,而.col-sm-4
的默认样式为:
padding-right: 15px;
padding-left: 15px;
因此,为了使其按预期工作,您可以添加此样式:
.input-group[class*="col-"] {
padding-right: 15px;
padding-left: 15px;
}
<强> Updated Fiddle 强>
答案 2 :(得分:3)
我发现我需要包括:float:left。所以,css是:
.input-group[class*="col-"] {
float: left;
padding-right: 15px;
padding-left: 15px;
}
如果没有,当我从v3.0.2升级到v3.0.3时,我的多列行就破了。
- CP
答案 3 :(得分:0)
.input-group [class * =“col-”]无效
<fieldset>
这是解决方案!
.makeHorizontal{
float:left;
padding-left:20px;
}