如何从继承CSS规则中排除特定元素?

Jus*_*zer 33 css css-selectors

我有这个CSS:

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

a:hover {
  background-color:#D1E1EA;
  color:#19558D;
  text-decoration:none;
}
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*lex 51

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

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

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

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

a.unstyled:hover {
  background-color:none;
  color:#000
  text-decoration:none;
} 
Run Code Online (Sandbox Code Playgroud)

  • 尽管多余的"`:not()`是一个CSS3选择器,并且有糟糕的浏览器支持"评论在这里. (20认同)

Not*_*tMe 8

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

例如:

<a href="#" class="MyNewClass" />
Run Code Online (Sandbox Code Playgroud)

要么

<a href="#" style="color:red;" />
Run Code Online (Sandbox Code Playgroud)