2012-02-11 15 views

Respuesta

95

La notación funcional está en :not(), no :hover:

a:not(.active):hover 

Si prefiere poner :hover primero, eso está bien:

a:hover:not(.active) 

No importa lo que la pseudo-clase es lo primero o último; De cualquier manera, el selector funciona de la misma manera. Simplemente es mi convención personal poner :hover en último lugar, ya que tiendo a ubicar las pseudo-clases de interacción del usuario detrás de las pseudo-clases estructurales.

+1

¡Ah, perfecto! Gracias @BoltClock. – Michelle

+0

Tenga cuidado si necesita soportar IE antes de la versión 9, ya que parecen no ser compatibles con 'not()' https://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx#pseudoclasses . Tal vez vea la respuesta de @Mendhak si lo hace. – SharpC

5

Tiene la opción de utilizar el selector not().

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

Sin embargo, esto puede no funcionar en todos los navegadores, ya que no todos los navegadores implementan características de CSS3.

Si se dirige a una gran audiencia y desea admitir navegadores antiguos, la mejor manera sería definir un estilo para el .active:hover y deshacer lo que sea que esté haciendo en a:hover.

Cuestiones relacionadas