使用:checked与+结合可实现表单控件选中后样式化后续元素;2. 常用于自定义复选框、展开内容、开关效果;3. 需确保目标为直接相邻兄弟,否则可用~替代;4. 适用于轻量交互,复杂逻辑仍需JavaScript。
当使用CSS伪类 :checked 与相邻兄弟选择器 + 结合时,可以实现根据表单控件(如复选框或单选按钮)的选中状态来样式化其后的元素。这种组合在无需JavaScript的情况下创建交互式界面非常
有用。
:checked 用于匹配被选中的单选按钮、复选框或下拉选项。+ 是相邻兄弟选择器,它选择紧接在某元素后的同级元素。
结合使用时,你可以这样写:
input[type="checkbox"]:checked + label {
color: red;
}
这段代码的意思是:当复选框被选中时,其后面的 label 文字颜色变为红色。
HTML结构:
这里是被隐藏的内容
CSS样式:
#toggle {
display: none;
}
.content {
display: none;
}
#toggle:checked + label + .content {
display: block;
}
说明:当复选框被选中时,通过 + 和后续选择器找到紧跟在label之后的 .content 并显示它。
确保HTML结构中目标元素确实是选中元素的直接相邻兄弟,否则选择器不会生效。例如: