Varias veces hemos hablado de HTML y XML, dos lenguajes de marcas que estructuran los contenidos que se muestran en un sitio web. Los dos persiguen objetivos similares, con la diferencia de que XML permite al desarrollador crear sus propias etiquetas (superando las limitaciones de un conjunto de palabras reservadas) y es más estricto en su normativa sintáctica, dando como resultado documentos más fáciles de interpretar por los navegadores. Puede decirse que XML se orienta más a la organización de la información, mientras que HTML se centra en su formato.
Ambos lenguajes se complementan con otro, conocido como CSS, por Cascading Style Sheets. Las hojas de estilo en cascada describen la presentación de un sitio web separándola de su estructura, definida por un código en lenguaje de marcas. Es decir, la forma y el contenido pueden detallarse en dos bloques de código distintos. Esto no sólo implica una mayor claridad del código fuente, sino también un ahorro de tiempo.
En HTML, cada vez que se inicializa un bloque, un párrafo, una imagen o cualquier otra entidad, existe la posibilidad de definir sus atributos dentro de la misma etiqueta. Por ejemplo, en el caso de un encabezado podríamos querer usar fuente Arial, tamaño 15pt, color rojo, subrayada. Pero cada vez que quisiéramos volver a usar esa configuración, tendríamos que volver a detallar esas especificaciones en la etiqueta, perdiendo tiempo y repitiendo código. A través de una sintaxis de fácil comprensión, CSS nos permite definir un formato propio, que podríamos llamar «encabezado», al que invocaremos cada vez que queramos usar esos atributos sin tener que repetirlos uno por uno. De manera similar podría formatearse cualquier otro elemento de página. Esto incluye a los div
s, bloques que definen la composición de la plantilla y que cumplen muchas de las funciones antiguamente asignadas a las tablas.
Gracias a las hojas de estilo en cascada, los desarrolladores obtienen código más fácil de escribir y de leer, y pueden plantear de manera separada la estructura de la página y su aspecto final.