什么可能导致CSS id链接的“border”属性被完全忽略?

时间:2012-07-31 18:40:59

标签: html css

我继承了一个非常大的CSS文件,我添加了一个特定的id,如下所示:

#specialLink a, #specialLink a:link, #specialLink a:active, #specialLink a:visited
{
    border:solid 1px #000000; 
    background-color:#CC0000;
}

但是,当我在链接中使用它时,如<a id="specialLink" href="whatever.htm">Test Link</a>中所述,它完全忽略上面的border属性,但尊重background-color属性。

我被认为CSS中的id标记具有最终优先级,那么可能导致border属性被完全忽略的原因是什么?

2 个答案:

答案 0 :(得分:1)

您的选择器不正确。你有:

#specialLink a {}

这将匹配具有ID #specialLink的元素的后代的锚元素:

<div id="specialLink">
    <a href="#">Anchor</a>
</div>

你想要的是:

a#specialLink {}

这样选择器将匹配:

<a href="#" id="specialLink">Anchor</a>

答案 1 :(得分:0)

#specialLink a引用包含元素内的A标记,其ID为“specialLink”。

要设置链接的样式,您需要自行使用#specialLink,因为它已有唯一的ID。

#specialLink {
   ...
}