Eu uso o cursor do mouse , ativo e desativado para estilizar os botões.
Mas o problema é que, quando o botão é desativado, o foco e os estilos ativos ainda se aplicam.
Como aplicar o foco e ativo apenas nos botões ativados?
Você pode usar : pseudo classe habilitada , mas o aviso IE<9
não a suporta :
button:hover:enabled{
/*your styles*/
}
button:active:enabled{
/*your styles*/
}
:not()
seletor, mas, novamente, só é suportado desde o IE9. Veja: developer.mozilla.org/pt-BR/docs/Web/CSS/:notbutton:hover:enabled
não parecia funcionar no meu caso. Usando a emulação IE9 no IE11.Você pode tentar isso ..
fonte
Por que não usar o atributo "disabled" em css. Isso deve funcionar em todos os navegadores.
fonte
.button[disabled], .button[disabled]:hover, .button[disabled]:focus, .button[disabled]:active {}
Uma abordagem com especificidade mais baixa que funciona nos navegadores mais modernos (IE11 + e excluindo alguns navegadores Opera e IE móveis - http://caniuse.com/#feat=pointer-events ):
A
pointer-events: none
regra desabilitará o foco; você não precisará aumentar a especificidade com um.btn[disabled]:hover
seletor para anular o estilo de foco.(Para sua informação, estes são os eventos-ponteiro HTML simples, não os eventos-ponteiro contenciosos de dispositivos de entrada de abstração)
fonte
Em sass (scss):
fonte
Se você estiver usando
LESS
ouSass
, você pode tentar o seguinte:fonte
Uma maneira é adicionar uma classe partcular ao desativar botões e substituir os estados de foco e ativo dessa classe em css. Ou removendo uma classe ao desativar e especificar as propriedades de foco e pseudo ativo nessa classe apenas em css. De qualquer forma, provavelmente não pode ser feito apenas com css, você precisará usar um pouco de js.
fonte