代码之家  ›  专栏  ›  技术社区  ›  ProgrammerGirl

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

  •  0
  • ProgrammerGirl  · 技术社区  · 12 年前

    我继承了一个非常大的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中的标记具有最终优先级,因此可能导致 边境 属性被完全忽略?

    2 回复  |  直到 12 年前
        1
  •  1
  •   daGUY    12 年前

    您的选择器不正确。您已经:

    #specialLink a {}
    

    这将匹配 后裔 ID为的元素的 #specialLink 以下为:

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

    您想要的是:

    a#specialLink {}
    

    以便选择器匹配:

    <a href="#" id="specialLink">Anchor</a>
    
        2
  •  0
  •   Diodeus - James MacFarlane    12 年前

    #specialLink a 指的是 A 标记在ID为“specialLink”的包装元素内。

    要设置需要使用的链接的样式 #specialLink 因为它本身已经具有唯一的ID。

    #specialLink {
       ...
    }