Q&A
前提
チェックボックスを2列で表示するようにプログラミングしています。
1列目(左)のチェックボックスのラベルの長さに応じて2列目(右)の表示位置を変えられるようにしたいです。
同じソースコードでcssの変更はせず、実現したいことのテスト1、テスト2のパターンを表示させることは可能でしょうか?
実現したいこと
テスト1 □チェックボックス1111111111111111(ラベルが長い □チェックボックス2 場合は改行 □チェックボックス3 □チェックボックス4
テスト2 □チェックボックス1 □チェックボックス2 □チェックボックス3 □チェックボックス3
条件
・ラベルがチェックボックスをグループ化している範囲の半分以上になったら、ラベルを改行する(テスト1のように)
・1列目(左)のラベルが短い場合、2列目(右)の開始位置を左に詰める(テスト2のように)
・1列目、2列目の開始位置は全行同じ
発生している問題・エラーメッセージ
下記のソースコードで実現したいことのテスト1の部分はできていますが、テスト2の部分ができていません。
bootstrapのクラスやhtmlタグをうまく使って、cssを変更せずに実現できないか試行錯誤しています。
該当のソースコード
= form-with .form-row .col-md-6 .form-group label = ラベル - arr = {"1" => "チェックボックス1", "2" => "チェックボックス2", "3" => "チェックボックス3", "4" => "チェックボックス4"} .row - arr.each do |key, val| .col-6.text-break .form-check = f.check_box:省略, class: "form-check-input" = f.label:省略, class: "form-check-label d-block"