12. Estilos en cascada
Capítulo anterior: 11 - Especificidad
Capítulo siguiente: 13 - Colores
Cuando hay dos reglas que tienen la misma especificidad sobre el mismo elemento:
H1 {color: red;}
H1 {color: blue;}
Debemos seguir el siguiente proceso para decidir qué estilos aplicar:
1.Buscar todas las declaraciones que contengan un selector que encaje con un elemento dado.
2.Ordenar por especificidad todas las declaraciones que se aplican a este elemento. También debemos ordenarlas por su origen como: Diseñador, navegante o navegador (la priorización sigue este orden).
3.Ordenar por orden las declaraciones. Las últimas declaraciones tendrán un peso más elevado. Las declaraciones obtenidas como consecuencia de un IMPORT se considerarán como las primeras teniendo así un peso menor, al contrario de las resultantes de aplicar un STYLE que se pondrán al final de la lista con un peso más elevado.
Así el obtenido para el elemento H1 será azul.
Clasificación de los elementos.- En CSS1, los elementos formateados pueden agruparse en tres categorías:
-Elementos de bloque. Como los párrafos, los encabezdos, las tablas, las listas, los DIV o el BODY. Son lso que fuerzan un salto de línea al final de los mismo.
-Elementos inline. Como los enlaces, el énfasis o el SPAN. Pueden ser hijos de cualquier otro elemento.
-Elementos de lista. Son aquellos que en HTML sólo pueden contener elementos de tipo LI. Pueden ser automáticamente numerados o susceptibles de tomar algún tipo de estilo que se aplique a cada uno de los ítems que los definen.
Podemos cambiar la visualización de ciertos elementos mediente la propiedad display, la cual tiene las siguientes características:
-Puede tomar los valores: block, inline, list-item, none (oculta el elemento).
-Su valor por defecto es block.
-No se hereda.
-Es aplicable a todos los elementos.
Con display podemos cambiar aspectos típicos de visualización que están definidos en HTML, como el hecho de que los párrafos sean de tipo bloque:
P {display: inline;}
Pero cuando realmente se le saca partido a la propiedad display, es cuando formateamos un documento XML. Esto se debe a que XML no tiene un comportamiento predefinido para los elementos que contiene.
CSS2 completa los tipos de formateos añadiendo un tratamiento específico para tablas, filas y celdas.