Bootstrap +简单形式复选框网格

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.

tif*_*fon 4

如果您删除<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显示了两种方法,每种方法都有静态宽度或流体宽度。