Comment appliquer un effet de survol à un aélément, mais pas à un aélément avec la classe active?
a:hover(not: .active)
Il semble qu'il manque quelque chose.
Comment appliquer un effet de survol à un aélément, mais pas à un aélément avec la classe active?
a:hover(not: .active)
Il semble qu'il manque quelque chose.
Réponses:
La notation fonctionnelle est activée :not(), pas :hover:
a:not(.active):hover
Si vous préférez mettre en :hoverpremier, c'est très bien:
a:hover:not(.active)
Peu importe quelle pseudo-classe vient en premier ou en dernier; de toute façon, le sélecteur fonctionne de la même manière. Il se trouve que c'est ma convention personnelle de mettre en :hoverdernier car j'ai tendance à placer des pseudo-classes d'interaction utilisateur derrière des pseudo-classes structurelles.
Vous avez la possibilité d'utiliser le not()sélecteur.
a:not(.active):hover { ... }
Cependant, cela peut ne pas fonctionner dans tous les navigateurs, car tous les navigateurs n'implémentent pas les fonctionnalités CSS3.
Si vous ciblez un large public et souhaitez prendre en charge les navigateurs plus anciens, le meilleur moyen serait de définir un style pour le .active:hoveret d'annuler tout ce que vous faites a:hover.
not()msdn.microsoft.com/en-us/library/… . Peut-être voyez-vous la réponse de @Mendhak si vous le faites.