Come si applica un effetto al passaggio del mouse su un a
elemento, ma non su un a
elemento con la classe active
?
a:hover(not: .active)
Sembra che manchi qualcosa.
Come si applica un effetto al passaggio del mouse su un a
elemento, ma non su un a
elemento con la classe active
?
a:hover(not: .active)
Sembra che manchi qualcosa.
Risposte:
La notazione funzionale è attiva :not()
, non :hover
:
a:not(.active):hover
Se preferisci mettere per :hover
primo, va bene:
a:hover:not(.active)
Non importa quale pseudo-classe viene prima o ultima; in ogni caso, il selettore funziona allo stesso modo. Capita solo che sia una mia convenzione personale da :hover
ultimo, poiché tendo a collocare le pseudo-classi di interazione dell'utente dietro le pseudo-classi strutturali.
Hai la possibilità di utilizzare il not()
selettore.
a:not(.active):hover { ... }
Tuttavia, questo potrebbe non funzionare in tutti i browser, poiché non tutti i browser implementano le funzionalità CSS3.
Se ti rivolgi a un vasto pubblico e desideri supportare i browser meno recenti, il modo migliore sarebbe definire uno stile per .active:hover
e annullare qualsiasi cosa tu stia facendo a:hover
.
not()
msdn.microsoft.com/en-us/library/… . Forse vedi la risposta di @Mendhak se lo fai.