css - 选中复选框不透明度,即使在之后声明时也会覆盖规则

标签 css

我想在默认情况下隐藏一个复选框,并在选中时显示一个复选框,在 table-headd 中或悬停相应的行:

.table td input[type=checkbox] {
    opacity: 0;
}

.table th input[type=checkbox], 
.table tr:hover input[type=checkbox], 
input[type=checkbox]:checked {
    opacity: 1;
}

在 Chrome 开发者工具中检查结果时,第二条规则适用,但不透明度属性被划掉。我需要添加 !important 以获得所需的结果。这是为什么?

最佳答案

这是因为CSS的特殊性。您可以在没有 !important 语句的情况下为规则提供更多的细节,使其更重要:

.table td input[type=checkbox] {
    opacity: 0;
}

.table th input[type=checkbox], 
.table tr:hover input[type=checkbox], 
.table tr td input[type=checkbox]:checked {
    opacity: 1;
}

特异性如何运作?

  • 内联样式元素:1000
  • ID:100
  • 标签:10
  • 类名和属性:1

如果你求和,你就会得到特异性。应用的规则越具体。

关于css - 选中复选框不透明度,即使在之后声明时也会覆盖规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36889100/

相关文章:

javascript - 在顶部绘制具有平滑过渡的 SVG 元素

c# - 如何将元素的背景颜色与 2 个半透明元素背景颜色相匹配

javascript - 子 div onclick 事件 : onclick on dynamically added children divs doesn't work as intended

css - 我不明白为什么这个 CSS 不起作用

javascript - Jquery - FadeIn()效果在脚本循环中不起作用

css - 扩展纯 css 网格以具有装订线的最佳方法

javascript - 固定网站加载时间?

html - 如何正确叠加透明背景的图像?

javascript - 如何在 Canvas 中为线条着色?

javascript 未在页面上加载