【发布时间】:2017-12-19 10:18:27
【问题描述】:
将 CSS 应用于选中/未选中的复选框(使用 :checked)及其标签很简单。但是,当所有复选框都未选中时,我需要对所有复选框应用另一种样式。
这使用 JavaScript 实现起来相对简单,但我有一个小部件,我不想修改它,所以我想知道是否有 CSS 技巧。我怀疑没有,但总有人更聪明:)
PS 好吧,html 位看起来是这样的,没什么特别的:
<div>
<input type=checkbox id=chkFilterMath>
<span><label for=chkFilterMath>Math</label></span>
<input type=checkbox id=chkFilterHist>
<span><label for=chkFilterHist>History</label></span>
...
</div>
当前的 CSS 使用
input:not(:checked) + span label
选择器将样式应用于未选中的复选框/标签。
可以在这里找到一个简化的示例:https://jsfiddle.net/k56hz8va/ 我想在所有复选框都未选中时将color: black 设置为标签。
【问题讨论】:
-
@DavidThomas 我在上面添加了 html 和 css;足够的样式只会使所有未选中的复选框的标签(
color:grey)变灰,除非所有复选框都未选中