PDF (adobe.com)

Estilos en cascada

El término en cascada indica la forma en que finalmente un navegador muestra los estilos para elementos concretos de una página Web. Los estilos que se ven en una página Web proceden de tres fuentes: la hoja de estilos creada por el autor de la página, las opciones de estilo personalizadas elegidas por el usuario (si las hay) y los estilos predeterminados del propio navegador. En los temas anteriores se describe la creación de estilos para una página Web como autor tanto de la página Web como de la hoja de estilos que se adjunta a dicha página. Pero los navegadores también tienen sus propias hojas de estilos predeterminadas que determinan cómo deben representarse las páginas Web, a lo que se suma el hecho de que los usuarios pueden personalizar sus navegadores mediante la selección de opciones que ajustan la visualización de las páginas Web. El aspecto final de una página Web es el resultado de las reglas aplicadas por estas tres fuentes en conjunto (o “en cascada”) para representar la página Web de forma óptima.

Este concepto se ilustra bien con una etiqueta común: la etiqueta de párrafo, o etiqueta <p>. De manera predeterminada, los navegadores se suministran con hojas de estilos que definen la fuente y el tamaño del texto del párrafo (es decir, el texto situado entre etiquetas <p> en el código HTML). En Internet Explorer, por ejemplo, todo el texto del cuerpo, incluido el texto de los párrafos, se muestra de manera predeterminada con la fuente Times New Roman, Mediana.

Sin embargo, como autor de una página, puede crear una hoja de estilos que anule el estilo predeterminado del navegador para la fuente de párrafo y el tamaño de fuente. Por ejemplo, puede crear la siguiente regla en su hoja de estilos:

p { 
font-family: Arial; 
font-size: small; 
}

Cuando un usuario carga la página, la configuración de fuente de párrafo y de tamaño de fuente establecida por usted como autor de la página anula la configuración de texto de párrafo del navegador.

Los usuarios pueden elegir opciones para personalizar de forma óptima la visualización en el navegador para su propio uso. En Internet Explorer, por ejemplo, el usuario puede seleccionar Ver > Tamaño de texto > Más grande para ampliar la fuente de página a un tamaño más legible si considera que la fuente es demasiado pequeña. En último término (al menos en este caso), la opción seleccionada por el usuario anula los estilos predeterminados por el navegador para tamaño de fuente y los estilos de párrafo creados por el autor de la página Web.

La herencia es otro aspecto importante de los estilos en cascada. Las propiedades de la mayoría de los elementos de una página Web son heredadas: por ejemplo, las etiquetas de párrafo heredan determinadas propiedades de las etiquetas de cuerpo, las etiquetas de lista de viñetas heredan determinadas propiedades de las etiquetas de párrafo, etc. Por consiguiente, si crea la siguiente regla en su hoja de estilos:

body { 
font-family: Arial; 
font-style: italic; 
}

Todo el texto de los párrafos de la página Web (así como el texto que hereda propiedades de la etiqueta de párrafo) será Arial cursiva porque la etiqueta de párrafo hereda estas propiedades de la etiqueta de cuerpo. No obstante, puede hacer que sus reglas sean más específicas creando estilos que anulen la formula estándar de herencia. Por ejemplo, si crea las siguientes reglas en su hoja de estilos:

body { 
font-family: Arial; 
font-style: italic; 
} 
p { 
font-family: Courier; 
font-style: normal; 
}

Todo el texto de cuerpo será Arial cursiva excepto el texto de los párrafos (y su texto heredado), que se mostrará como Courier normal (sin cursiva). Técnicamente, la etiqueta de párrafo hereda primero las propiedades que se establecen para la etiqueta de cuerpo, pero luego omite estas propiedades porque tiene definidas sus propias propiedades. Dicho de otro modo, aunque los elementos de página generalmente heredan las propiedades de arriba, la aplicación directa de una propiedad a una etiqueta siempre provoca la anulación de la fórmula estándar de herencia.

La combinación de todos los factores descritos anteriormente, a los que se suman otros como la especificidad de CSS (un sistema que pondera de diferente forma cada tipo de regla CSS) y el orden de las reglas CSS, crean en último término una cascada compleja en la que los elementos con mayor prioridad anulan las propiedades de los que tienen menor prioridad. Para más información sobre las reglas que determinan la cascada, la herencia y la especificidad, visite www.w3.org/TR/CSS2/cascade.html.