继承的 CSS 属性和特异性
当多个 CSS 声明针对同一元素时,具有最高特异性的优先。 CSS 特异性计算规则在 W3 建议中有详细记录。但是,不太清楚继承的属性如何适应此方案。
继承引入了一层复杂性,因为继承的属性有效地将其父元素的特异性与其自身的特异性结合起来。这意味着从高度特定的父元素继承的属性可以覆盖具有较低特定性的直接应用的属性。
考虑以下示例:
<h2 class="all_red_text">This should be black</h2>
h2 { color: black; } .all_red_text { color: red; }
在此示例中, color 属性继承自
根据 CSS 特异性规则,更具体的选择器(在本例中为 h2 选择器)应优先。但是,由于 color 属性是继承的,因此它实际上具有父元素 (0,1,0) 的特异性。
因此,从父元素继承的 color 属性会覆盖直接应用的 color 属性。 h2 元素中的文本是黑色而不是红色。
这种行为一开始可能会令人困惑,但它是 CSS 继承工作原理的重要组成部分。通过了解继承的属性如何影响特异性,您可以避免意外结果并确保您的 CSS 代码按预期运行。
以上是CSS 继承如何影响特异性和属性覆盖?的详细内容。更多信息请关注PHP中文网其他相关文章!