声明与浏览器的特殊性

时间:2014-11-16 04:07:17

标签: css css-specificity

例如,如果我们有一个css

#toolbar {color: white; background: black;} 

我们知道特异性是0,1,0,0

和工具栏有一些链接。

<div id="toolbar">
    <a href="#link">Link1</a>
</div>

可能浏览器样式表说

 a:link {color: blue;}

因此特异性0,0,1,0

在这种情况下,我们的颜色风格应该胜过浏览器,但为什么链接仍然是蓝色。

1 个答案:

答案 0 :(得分:1)

您的规则适用于#toolbar。浏览器的规则适用于a。如果您想继承#toolbar规则,可以说

a:link { color: inherit; }

特异性在逐个元素的基础上起作用。对父母的高度特异性规则对儿童没有特异性相关影响。即使父母的!important也不会直接影响孩子的特异性计算。例外情况是属性是可继承的(意味着子节点具有隐式property: inherit;设置),并且没有明确的规则(包括在浏览器样式表中)应用于该子属性的属性。