继承的 CSS 属性的特异性

pro*_*s91 2 css css-specificity

继承属性接收到的 CSS 特异性级别是多少?我通读了关于 CSS 特异性的 W3 建议,因此我了解如何计算直接针对同一元素的 css 规则的不同特异性,但我没有看到那里提到赋予继承属性的特异性级别。

特别是,我遇到的问题与标题元素有关,尽管我很想从总体上理解这一点。

例如,下面是一段 HTML:

<h2>This should be black</h2>
<div class="all_red_text">
    <h2>This should be red</h2>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,如果我包含一些这样的 CSS:

.all_red_text { color: red; }
Run Code Online (Sandbox Code Playgroud)

我会得到我期望的结果。另一方面,如果我包含的 css 是

h2 { color: black; }
.all_red_text { color: red; }
Run Code Online (Sandbox Code Playgroud)

那么所有的文字都会是黑色的。在第一种情况下,有一些默认浏览器 CSS 可以被继承的属性覆盖,但是当在第二个示例中手动指定相同的属性时,它优先于继承的属性。

Mar*_*zek 9

任何直接匹配元素的声明将优先于从元素的父元素继承的属性。特异性与此无关。