我使用Ruby on Rails 4和twitter bootstrap来显示form_for
(twitter bs form_horizontal
)。当rails包裹field_with_errors
div中的元素时,下面的样式正常(标签,输入和提示显示彼此相邻)对于正常字段(非错误),但提示被删除到输入元素下方。
<div class="control-group required">
<div class="field_with_errors"><label class="control-label" for="lot_commonname_id">Common Name</label></div>
<div class="controls">
<div class="field_with_errors"><select id="lot_commonname_id" name="lot[commonname_id]"><option value="">Please select</option>
<option value="1">x</option>
<option value="2">y</option>
<option value="3">z</option>
</select>
</div>
<div class="hint">
<a href="#" rel="tooltip" data-original-title="xyz test.">
<i class="icon-info-sign"></i>
</a>
</div>
</div>
</div>
.field_with_errors {
@extend .control-group;
@extend .error;
}
.form-horizontal .field_with_errors
{
margin: 0;
}
.form-horizontal .field_with_errors:before, .form-horizontal .field_with_errors::after
{
display: block;
clear: none;
}
以下jsfiddle http://jsfiddle.net/a78B5/6/演示了问题
答案 0 :(得分:0)
Divs默认为display:block所以它会自然地下降到输入之下。添加样式以使用显示:内联或显示:内联块,它将移回到文本框旁边。