【问题标题】:css: link color in UL class does not override default color for divcss:UL 类中的链接颜色不会覆盖 div 的默认颜色
【发布时间】:2011-06-04 23:27:14
【问题描述】:

我已经定义了一个具有以下内容的 div:

#main-alt-2 a:link {color:#39c;}
#main-alt-2 a:visited {color:#39c;}

对于这个 div 中的 UL,我已经定义了这个:

ul.menu a:link {
font-weight:bold;
display:block;
text-decoration:none;   
color:#323232;
}

ul.menu 类中的所有其他属性都有效 - 除了颜色。 很奇怪!

希望有人能提供帮助!

【问题讨论】:

    标签: html css colors hyperlink


    【解决方案1】:

    因为css specificity,你需要这样做:

    #main-alt-2 ul.menu a:link {
    font-weight:bold;
    display:block;
    text-decoration:none;   
    color:#323232;
    }
    

    【讨论】:

      【解决方案2】:

      #main-alt-2 a:link,因为它包含一个 id 选择器,所以 specificul.menu a:link 更多

      将您的选择器设为more specific

      【讨论】:

      • hmmm,UL 正在一个 jquery 菜单中使用,它查找类,而不是 id,有没有办法让一个类更具体?还是我必须将所有内容都更改为 ID?
      【解决方案3】:

      如果多个 CSS 定义属于同一个 HTML 元素,则比较选择器的 specificity。要使特异性较低的规则优先,请添加!important

      ul.menu a:link {color: #323232 !important;}
      

      或者,您可以使第二个选择器更具体。

      【讨论】:

      • 好的,非常感谢 - 所有的答案都帮助我解决了问题,但是 !important 是最简单的解决方案;o)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      相关资源
      最近更新 更多