Las hojas de estilo en cascada (Cascading Style Sheets, CSS) son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirá de estándar para los agentes de usuario o navegadores.
La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación.
Por ejemplo, el elemento de HTML <H1> indica que un bloque de texto es un encabezamiento y que es más importante que un bloque etiquetado como <H2>. Versiones más antiguas de HTML permitían atributos extra dentro de la etiqueta abierta para darle formato (como el color o el tamaño de fuente). No obstante, cada etiqueta <H1> debía disponer de la información si se deseaba un diseño consistente para una página, y además, una persona que lea esa página con un navegador pierde totalmente el control sobre la visualización del texto.
Cuando se utiliza CSS, la etiqueta <H1> no debería proporcionar información sobre como va a ser visualizado, solamente marca la estructura del documento. La información de estilo separada en una hoja de estilo, especifica cómo se ha de mostrar <H1> : color, fuente, alineación del texto, tamaño, y otras características no visuales como definir el volumen de un sintetizador de voz (véase Sintetización del habla), por ejemplo.
La información de estilo puede ser adjuntada tanto como un documento separado o en el mismo documento HTML. En este último podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "style".
Las ventajas de utilizar CSS (u otro lenguaje de estilo) son:
Hay varias versiones : CSS1 y CSS2, con CSS3 en desarrollo por el World Wide Web Consortium (W3C). Los navegadores modernos implementan CSS1 bastante bien, aunque existen pequeñas diferencias de implementación según marcas y versiones de los navegadores¹. CSS2, sin embargo, está solo parcialmente implentado en los más recientes.
Un problema muy conocido de implementación de CSS es el de la versión 5.X del popular navegador Internet Explorer que utiliza un modelo no estándar para el cálculo de las medidas (véase más abajo).
Aunque de un tiempo atrás los diseñadores web han optado la utilización de tablas para el diseño de páginas webs. De esta forma, el uso que daban a las tablas era como elementos de estilo cuando su verdadero cometido es albergar contenido. La maquetación CSS consiste en utilizar capas (layers) que en HTML se definen con las marcas <div></div> (de apertura y cierre, respectivamente) para estructurar la aplicación web, como alternativa a las tablas y los marcos (frames). Así, podemos nombrar cada capa con el atributo id de manera que podremos definir las propiedades de dicha capa en el archivo CSS externo al documento, aunque también se puede incluir el código CSS en la misma página que el HTML, pero es poco funcional (es convieniente hacer uso de la modularidad para hacer más fácil el mantenimiento).
Fuente: Wiki
24/10/2006 - Really Simple Syndication
24/10/2006 - Hojas de estilo en cascada
24/10/2006 - Un poco sobre XHTML