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 :hover
premier, 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 :hover
dernier 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:hover
et 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.