Como aplico um efeito de foco em um a
elemento, mas não a um a
elemento com a classeactive
?
a:hover(not: .active)
Parece que algo está faltando.
Como aplico um efeito de foco em um a
elemento, mas não a um a
elemento com a classeactive
?
a:hover(not: .active)
Parece que algo está faltando.
Respostas:
A notação funcional está ativada :not()
, não :hover
:
a:not(.active):hover
Se você preferir colocar :hover
primeiro, tudo bem:
a:hover:not(.active)
Não importa qual pseudoclasse vem primeiro ou último; de qualquer forma, o seletor funciona da mesma forma. Acontece que é minha convenção pessoal colocar por :hover
último, já que tendo a colocar as pseudo classes de interação com o usuário atrás das pseudo classes estruturais.
Você tem a opção de usar o not()
seletor.
a:not(.active):hover { ... }
No entanto, isso pode não funcionar em todos os navegadores, pois nem todos implementam recursos CSS3.
Se você tem como alvo um grande público e deseja oferecer suporte a navegadores mais antigos, a melhor maneira seria definir um estilo para .active:hover
e desfazer tudo o que estiver fazendo a:hover
.
not()
msdn.microsoft.com/en-us/library/… . Talvez veja a resposta por @Mendhak se você fizer isso.