A menor especificidad enfoque que funciona en la mayoría de los navegadores modernos (EI11 +, y la exclusión de algunos navegadores móviles Opera & IE - http://caniuse.com/#feat=pointer-events):
.btn {
/* base styles */
}
.btn[disabled]
opacity: 0.4;
cursor: default;
pointer-events: none;
}
.btn:hover {
color: red;
}
La regla pointer-events: none
inhabilitará vuelo estacionario; no será necesario aumentar la especificidad con un selector .btn[disabled]:hover
para anular el estilo de desplazamiento.
(FYI, esto es el simple puntero-eventos HTML, no los contenciosos-dispositivos de entrada-abstracción-puntero eventos)
Mi aplicación sólo funciona en cromo por lo que todo está bien. – Ali
También está el selector ': not()', pero de nuevo, solo es compatible desde IE9 también. Ver: https://developer.mozilla.org/en-US/docs/Web/CSS/:not – jnns
'botón: hover: enabled' no parece funcionar en mi caso. Usando la emulación IE9 bajo IE11. – Neolisk