使用属性选择器组合可选中既被选中又禁用的元素,如inputtype=”checkbox”[disabled]设置样式;现代浏览器支持:checked和:disabled伪类连写,更直观。

在 css 中,如果你想选择一个既被选中(checked)又处于禁用状态(disabled)的元素,比如复选框或单选按钮,可以使用属性选择器的组合来实现。
使用属性选择器组合
你可以同时使用 [checked] 和 [disabled] 属性选择器来匹配目标元素。例如:
input[type="checkbox"][checked][disabled] { opacity: 0.6; border: 2px solid #ccc; }
这段样式会选中所有类型为 checkbox、已被勾选且被禁用的输入框。
针对特定控件的样式示例
实际开发中,常见的是对单选按钮或复选框进行样式控制。比如你想让“已选且禁用”的选项看起来更灰一些:
立即学习“前端免费学习笔记(深入)”;
input[type="radio"]:checked:disabled { accent-color: #999; } input[type="checkbox"]:checked:disabled { background-color: #aaa; border-color: #888; }
注意:现代浏览器支持 :checked 和 :disabled 伪类的连写,这种方式更直观。
兼容性与注意事项
- :checked 适用于 input[type=”checkbox”]、input[type=”radio”] 和 <option> 元素。
- :disabled 可用于任何可禁用的表单元素。
- 确保 html 中正确设置了 checked 和 disabled 属性。
- 如果使用自定义样式(如隐藏原生 input),建议通过标签包裹或伪元素来实现视觉效果,并结合这两个状态做判断。
基本上就这些,不复杂但容易忽略细节。


