span - ¿Cuándo no funciona la declaración importante de CSS?
span html (3)
Me pregunto si alguien puede poner un poco de un resumen de referencia autorizado de cuándo la declaración importante en CSS no funciona para anular los estilos en línea.
Estoy bastante seguro de que no todos los navegadores reconocen la importante declaración. Pero no puedo recordar cuáles salen de mi cabeza. Lo comprobará y le responderé.
[EDITAR] Puedo confirmar que IE6 y anteriores no reconocen! Important (a menos que el navegador esté en modo de cumplimiento de normas, no el predeterminado).
Puede usar! Importante para anular una regla en línea. ¡Pero también recuerde que las reglas en línea pueden ser etiquetadas! Importantes también.
Hay muchos factores involucrados en determinar qué estilos se anulan entre sí. Cuanto más baja aparezca una declaración de estilo en la cascada , y cuanto más específico sea en la orientación del elemento, más pesará frente a otros estilos.
Este es el estándar CSS2 para la herencia de estilo:
- Si la cascada da como resultado un valor, úselo.
- De lo contrario, si la propiedad es heredada, use el valor del elemento padre, generalmente el valor calculado.
- De lo contrario, use el valor inicial de la propiedad. El valor inicial de cada propiedad se indica en la definición de la propiedad.
Internamente, el navegador calculará la especificidad de una regla , de acuerdo con el estándar. La declaración! Importante agregará peso a la regla, pero asignar dinámicamente un atributo de estilo a menudo tendrá prioridad, ya que generalmente es más altamente especificado.
Hasta ahora, la investigación parece sugerir:
- IE7 admite! Importante.
- ¡Compatible con FireFox 2 y 3! Importante.
- IE6 admite! Importante en el modo compatible con los estándares.
Sin embargo, IE6 (posible IE7) no es compatible! Importante en este caso :
someselector {
property: value !important;
same-property: another-value;
}
Utilizará el segundo valor (el último listado).
Esto es confirmado por esta página :
En Internet Explorer 6 y versiones anteriores, si aparece una declaración importante antes de una declaración normal para la misma propiedad dentro del mismo bloque de declaración, la declaración normal sobrescribirá la declaración importante.
Internet Explorer 6 y 7 dan importancia a una declaración cuando se utiliza un identificador ilegal en lugar de la palabra clave importante, en lugar de ignorar la declaración como deberían.
¡El comentario de Gizmo afirma que Safari y Opera son importantes!