私はこの問題の解決策を数時間探していましたが、運がありませんでした。誰もが問題を解決するために背景画像を使用しているようです。私は色だけを使用したいので、モバイルデバイスに追加のCSSを必要とせずにソリューションのスケーリングが向上します。
私はほとんど実用的な解決策を持っていますが、1)「チェックボックス」はラベルの他の部分のようにクリックできません。2)HTMLを変更せずにラベルと「チェックボックス」の間にスペースを追加する方法が見つからないようです(私はしたくないことですが、実行可能なCSSのみまたはJQueryソリューションがない場合は試します) 。
HTMLは次のとおりです。
<div id="edit-field-school-education-und" class="form-checkboxes">
<div class="form-item form-type-checkbox form-item-field-school-education-und-28">
<input type="checkbox" id="edit-field-school-education-und-28" name="field_school_education[und][28]" value="28" checked="checked" class="form-checkbox">
<label class="option" for="edit-field-school-education-und-28">Evening Classes & Distance Learning </label>
</div>
...... Repeated for several checkboxes .......
</div>
これまでの私のCSSは次のとおりです。
.form-checkbox {display:none}
.form-checkbox + label:before {content: "\00a0\00a0\00a0\00a0"; height: 19px; width: 19px; border: 1px solid black; cursor:pointer; }
input[type="checkbox"]:checked + label:before {background-color: #34c1ce;}
私はCSS3ソリューションを好みますが、一般的なHTMLまたはJSソリューションで問題ありません。チェックボックスリストはいつでも大きくなる可能性があるため、IDなどに基づく解決策はありません。ただし、同じラベルテキストでdivを出力する方法をおそらく理解できたでしょう。