2012-02-11 58 views

回答

95

功能符号是:not(),不:hover

a:not(.active):hover 

如果你喜欢把:hover第一,这很好:

a:hover:not(.active) 

不要紧其伪类至上或最后;无论哪种方式,选择器都是一样的。这恰好是我个人的惯例,将:hover放在最后,因为我倾向于将用户交互伪类放在结构伪类之后。

+1

啊,完美!谢谢@BoltClock。 – Michelle 2012-02-11 16:13:50

+0

如果您需要在版本9之前支持IE,请小心,因为它们似乎不支持'not()'https://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx#pseudoclasses 。如果你愿意的话,也许可以看看@Mendhak的答案。 – SharpC 2017-06-12 07:47:26

5

您可以选择使用not()选择器。

a:not(.active):hover { ... } 

但是,这可能不适用于所有浏览器,因为并非所有浏览器都实现CSS3功能。

如果您针对的是大量受众并希望支持旧版浏览器,那么最好的方法是定义.active:hover的样式并撤消您在a:hover中所做的任何操作。