具有错误样式的Ruby-on-rails Twitter Bootstrap字段

时间:2013-09-17 16:27:11

标签: css twitter-bootstrap ruby-on-rails-4

我使用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/演示了问题

1 个答案:

答案 0 :(得分:0)

Divs默认为display:block所以它会自然地下降到输入之下。添加样式以使用显示:内联或显示:内联块,它将移回到文本框旁边。