Las declaraciones CSS se aplican en este orden (de menor a mayor prioridad):
- declaraciones de agente de usuario (los estilos predeterminados que su navegador aplica a los elementos)
- declaraciones normales del usuario (la propia hoja de estilo del usuario si está usando una)
- autor de declaraciones normales (esta es su hoja de estilo normal)
- autor declaraciones importantes (cualquier cosa que sea importante)
- declaraciones importantes del usuario (cualquier estilo importante de la hoja de estilo del usuario)
Cualquier regla conflictiva se resuelve primero dentro de cada nivel, a veces con especificidad o, en su defecto, gana la última regla. La especificidad es un número definido como:
- a: 1 si la declaración es de un atributo de estilo en línea, 0 de lo contrario
- b: el número de ID en el selector (#one #two sería 2)
- c: el número de otros atributos y pseudo-clases (: el foco sería 1)
- d: el número de nombres de elementos y pseudoelementos (div sería 1)
es decir, un estilo en línea tendría una especificidad de 1000, mientras que una declaración en su hoja de estilo podría tener una especificidad de 0100 o 0010, etc. – esta es la razón por la cual los estilos en línea anulan los estilos de las hojas de estilo.
- Cómo agregar varios textos de color en la Terminal
- Cómo mejorar el diseño web
- ¿Cómo almacena grandes cantidades de datos de impresión / registro en MySQL sin desactivar el servidor MySQL?
- ¿Es malo que no tenga una sola prueba escrita para mi aplicación web de inicio escrita en Rails?
- ¿Por qué necesitamos ASP.NET, PHP, etc., si podemos hacer un sitio web dinámico completo usando JQuery y Ajax?
Pero, dado que las reglas se aplican en el orden anterior, una regla importante en una hoja de estilo puede anular un estilo en línea (ya que los estilos importantes del autor se aplican después de los estilos normales del autor). p.ej:
pags { color: negro! importante; }Será negro
Las reglas en declaraciones posteriores tienen prioridad sobre las reglas en declaraciones anteriores, por lo que las declaraciones en una etiqueta de estilo pueden anular las declaraciones de una hoja de estilo vinculada si la etiqueta de estilo aparece después de la etiqueta de enlace. Las reglas significan que puede usar una hoja de estilo normal para anular la propia hoja de estilo de un usuario, pero nunca puede anular ningún estilo que el usuario marque como importante.