几个小时以来,我一直在寻找解决此问题的方法,但没有任何运气。似乎每个人都使用背景图像来解决他们的问题,而我只想使用一种颜色,以便解决方案可以更好地扩展,而无需移动设备需要额外的 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。