17370845950

在css中选择checked与disabled组合
使用属性选择器组合可选中既被选中又禁用的元素,如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"] 元素。
  • :disabled 可用于任何可禁用的表单元素。
  • 确保 HTML 中正确设置了 checkeddisabled 属性。
  • 如果使用自定义样式(如隐藏原生 input),建议通过标签包裹或伪元素来实现视觉效果,并结合这两个状态做判断。
基本上就这些,不复杂但容易忽略细节。