【问题标题】:How can I exclude a specific element from inheriting CSS rules?如何从继承 CSS 规则中排除特定元素?
【发布时间】:2011-03-31 22:41:40
【问题描述】:

我有这个 CSS:

a {
  color:#19558D;
  padding:3px 5px;
  text-decoration:none;
}

a:hover {
  background-color:#D1E1EA;
  color:#19558D;
  text-decoration:none;
}

它适用于所有链接,但如果我不希望它适用于页面上的特定链接怎么办?我能做什么?

【问题讨论】:

    标签: css css-selectors


    【解决方案1】:

    有两种方法可以做到这一点。

    第一种方法是使用:not() 选择器并提供您不希望将样式应用于类的链接:

    a:not(.unstyled):hover {
      background-color:#D1E1EA;
      color:#19558D;
      text-decoration:none;
    }
    

    但是,:not() 选择器在 IE8 或更低版本中不受支持,因此第二个选项是为您的无样式链接提供一个类,并使用该类覆盖该链接的这些属性:

    a.unstyled:hover {
      background-color:none;
      color:#000
      text-decoration:none;
    } 
    

    【讨论】:

    • 强制性的,虽然是多余的“:not() 是一个 CSS3 选择器,并且浏览器支持很糟糕”评论在这里。
    【解决方案2】:

    您可以将自己的类或内联样式应用于相关链接。

    例如:

    <a href="#" class="MyNewClass" />
    

    <a href="#" style="color:red;" />
    

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2020-09-30
      • 2011-11-15
      • 2011-12-21
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多