Hojas de estilo en cascada
De Wikipedia, la enciclopedia libre
- Para otros usos véase CSS
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:
- Control centralizado de la presentación de un sitio web completo con lo que se agiliza de forma considerable la actualización del mismo.
- Los Navegadores permiten a los usuarios especificar su propia hoja de estilo local que será aplicada a un sitio web, con lo que aumenta considerablemente la accesibilidad. Por ejemplo, personas con deficiencias visuales pueden configurar su propia hoja de estilo para aumentar el tamaño del texto o remarcar más los enlaces.
- Una página puede disponer de diferentes hojas de estilo según el dispositivo que la muestre o incluso a elección del usuario. Por ejemplo, para ser impresa, mostrada en un dispositivo móvil, o ser "leída" por un sintetizador de voz.
- El documento HTML en sí mismo es más claro de entender y se consigue reducir considerablemente su tamaño.
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).
Tabla de contenidos |
[editar] Diagramado de página en CSS
Antes de que esté disponible CSS, la única forma de componer espacialmente una página era el uso de tablas. Aunque es una técnica cómoda y versátil, se está usando un elemento con una semántica particular, que es la de expresar información tabular, solamente por su efecto presentacional. La introducción de CSS ha permitido en muchos casos reemplazar el uso de tablas. Sin embargo CSS todavía no permite la versatilidad que ofrecían las tablas, lograr un diagramado de una página compleja suele ser una tarea compleja en CSS y las diferencias entre navegadores dificultan aun más la tarea. Se espera que futuros desarrollos en CSS3 resuelvan esta deficiencia y hagan de CSS un lenguaje más apto para describir la estructura espacial de una página.
[editar] Recomendaciones del W3C
[editar] Cascading Style Sheets, nivel 1 (CSS1), Diciembre de 1996
- Propiedades de fuentes
- Propiedades de color y fondo
- Propiedades de texto
- espaciado de palabras
- alineación
- Propiedades de caja
- Margen
- Borde
- Relleno
- Propiedades de clasificación
- visualización
- listas
Ilustración de propiedades de caja:
Margen (Margin)
|
Si se define una caja con el atributo width (ancho), se interpreta por el modelo de caja del W3C como la anchura del contenido. La anchura del relleno y del borde se añaden a la anchura total del elemento.
En el modelo de caja de Microsoft el atributo de anchura es la anchura total, es decir, la anchura del contenido, del relleno y del borde.
Esto restringe severamente el uso de este modelo en una especificación para varios navegadores. Si uno quiere evitarlo, no puede especificar el margen, el relleno o el borde en la misma etiqueta que el ancho del contenido. Otra posibilidad es usar un hack (véase la sección de enlaces).
No obstante Internet Explorer 6.0 puede variarse a un modo acorde con el estándar si se usa una declaración !DOCTYPE apropiada.
[editar] Enlaces
[editar] Referencias
- Definición del estándar CSS en W3C.org (inglés)
- W3C CSS Servicio de Validación automatizado de documentos CSS
- Comparación de la presentación CSS en diferentes motores (Wikipedia en inglés)
[editar] Wikis y listas de correo
- Ovillo.org Lista de discusión de CSS en castellano.
- CSS-discus wiki, un wiki dedicado a CSS.
[editar] Tutoriales y otros recursos
- Ejemplos CSS
- Introducción CSS
- CSS Práctico: Referencia básica para entrar en el mundo del CSS
- Manual de CSS
- CSS vs XSL: La mejor hoja de estilos
- Pruebas CSS2 por Peter-Paul Koch
- Box model hack
- Box Sizing Behavior, solución en Javascript al modelo de cajas no estándar.
- Clases particulares del CSS del HTML Source.
- CSS Panic Guide, un recurso rápido.
- Tierra de Nómadas, principios básicos de CSS.
- Explorer Exposed!, relación de muchos errores de interpretación de Internet Explorer.
- Tutorial de Hojas de Estilo, con ejemplos y el listado de las propiedades reconocidas.
- Tutorial de CSS - MCTekK
- Usabilidad y Accesibilidad con CSS en la Recuperación de Información.
- Tutoriales CSS en Scour Design.
- Definición de CSS con imágenes explicativas, español.
[editar] Galerías y ejemplos de uso
- CSS Town - Portal de noticias sobre CSS y Galería de Sitios.
- ProEstilo Galería de sitios que utilizan CSS y otras herramientas
- CSS Zen Garden
- Camaleon CSS El potencial del CSS y XHTML en acción.
- PI CSS
- Ejemplo de página web tras usar CSS