sgu*_*uha 7 css css3 simple-form twitter-bootstrap
我有一个20多个标签的列表,我想在4列复选框网格中呈现,但我不太确定最干净的方法是什么.我有以下表格:
= simple_form_for(@fracture) do |f|
= f.error_notification
.form-inputs
= f.input :title
= f.input :summary
= f.input :tag_list, :as => :check_boxes, :collection => ActsAsTaggableOn::Tag.all.map(&:name), :item_wrapper_class => 'inline'
Run Code Online (Sandbox Code Playgroud)
结果表格应该是这样的http://jsfiddle.net/LVFzK/,但我想将逻辑限制在一个wrapper或CSS中,而不是手动修改HTML.
如果您删除<div class="controls span2">列元素并将span2类添加到元素中label,则它们label将具有设定的宽度并将向左浮动。这将导致复选框与网格对齐。
<label class="checkbox span2">
<input type="checkbox" value="option1"> Cash
</label>
Run Code Online (Sandbox Code Playgroud)
span10您可以通过将类添加到容器元素来强制网格为四列:
<div class="control-group span10">
Run Code Online (Sandbox Code Playgroud)
但是,这将导致网格向左流动 -> 向右流动,然后创建新行而不是垂直堆叠连续元素。我认为垂直堆叠元素的唯一方法是使用多列布局功能。我以前没有使用过这个,而且我实际上不知道它在各种浏览器中的效果如何。
这个jsFiddle显示了两种方法,每种方法都有静态宽度或流体宽度。