【问题标题】:specificity of declarations vs browser's for a声明的特殊性与浏览器的 a
【发布时间】:2014-11-16 12:34:27
【问题描述】:

例如,如果我们有一个 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

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

【问题讨论】:

    标签: css css-specificity


    【解决方案1】:

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

    a:link { color: inherit; }
    

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

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      • 2010-11-23
      相关资源
      最近更新 更多