jueves, 28 de noviembre de 2013

1.8. Medios CSS

Inicio/Capitulo 1. Introducción/1.2 Breve historia de CSS/Soporte de CSS en los ordenadores/1.4 Especificación oficial/1.5. Funcionamiento básico de CSS/1.6. Cómo incluir CSS en un documento XHTML/1.7. Glosario básico/1.8. Medios CSS/1.9. Comentarios/1.10. Sintaxis de la definición de cada propiedad CSS


1.8. Medios CSS

Una de las características más importantes de las hojas de estilos CSS es que permiten definir diferentes estilos para diferentes medios o dispositivos: pantallas, impresoras, móviles, proyectores, etc.
Además, CSS define algunas propiedades específicamente para determinados medios, como por ejemplo la paginación y los saltos de página para los medios impresos o el volumen y tipo de voz para los medios de audio. La siguiente tabla muestra el nombre que CSS utiliza para identificar cada medio y su descripción:
MedioDescripción
allTodos los medios definidos
brailleDispositivos táctiles que emplean el sistema braille
embosedImpresoras braille
handheldDispositivos de mano: móviles, PDA, etc.
printImpresoras y navegadores en el modo "Vista Previa para Imprimir"
projectionProyectores y dispositivos para presentaciones
screenPantallas de ordenador
speechSintetizadores para navegadores de voz utilizados por personas discapacitadas
ttyDispositivos textuales limitados como teletipos y terminales de texto
tvTelevisores y dispositivos con resolución baja
Los medios más utilizados actualmente son screen (para definir el aspecto de la página en pantalla) y print (para definir el aspecto de la página cuando se imprime), seguidos de handheld (que define el aspecto de la página cuando se visualiza mediante un dispositivo móvil).
Además, CSS clasifica a los medios en diferentes grupos según sus características. La siguiente tabla resume todos los grupos definidos en el estándar:
MedioContinuo / PaginadoVisual / Auditivo / Táctil / VocalMapa de bits / CaracteresInteractivo / Estático
braillecontinuotáctilcaracteresambos
embossedpaginadotáctilcaracteresestático
handheldambosvisual, auditivo, vocalambosambos
printpaginadovisualmapa de bitsestático
projectionpaginadovisualmapa de bitsinteractivo
screencontinuovisual, auditivomapa de bitsambos
speechcontinuovocal(no tiene sentido)ambos
ttycontinuovisualcaracteresambos
tvambosvisual, auditivomapa de bitsambos
La gran ventaja de CSS es que permite modificar los estilos de una página en función del medio en el que se visualiza. Existen cuatro formas diferentes de indicar el medio en el que se deben aplicar los estilos CSS.

1.8.1. Medios definidos con las reglas de tipo @media

Las reglas @media son un tipo especial de regla CSS que permiten indicar de forma directa el medio o medios en los que se aplicarán los estilos incluidos en la regla. Para especificar el medio en el que se aplican los estilos, se incluye su nombre después de @media. Si los estilos se aplican a varios medios, se incluyen los nombres de todos los medios separados por comas.
A continuación se muestra un ejemplo sencillo:
@media print {
  body { font-size: 10pt }
}
@media screen {
  body { font-size: 13px }
}
@media screen, print {
  body { line-height: 1.2 }
}
El ejemplo anterior establece que el tamaño de letra de la página cuando se visualiza en una pantalla debe ser 13 píxel. Sin embargo, cuando se imprimen los contenidos de la página, su tamaño de letra debe ser de 10 puntos. Por último, tanto cuando la página se visualiza en una pantalla como cuando se imprimen sus contenidos, el interlineado del texto debe ser de 1.2 veces el tamaño de letra del texto.

1.8.2. Medios definidos con las reglas de tipo @import

Cuando se utilizan reglas de tipo @import para enlazar archivos CSS externos, se puede especificar el medio en el que se aplican los estilos indicando el nombre del medio después de la URL del archivo CSS:
@import url("estilos_basicos.css") screen;
@import url("estilos_impresora.css") print;
Las reglas del ejemplo anterior establecen que cuando la página se visualiza por pantalla, se cargan los estilos definidos en el primer archivo CSS. Por otra parte, cuando la página se imprime, se tienen en cuenta los estilos que define el segundo archivo CSS.
Si los estilos del archivo CSS externo deben aplicarse en varios medios, se indican los nombres de todos los medios separados por comas. Si no se indica el medio en una regla de tipo @import, el navegador sobreentiende que el medio es all, es decir, que los estilos se aplican en todos los medios.

1.8.3. Medios definidos con la etiqueta

Si se utiliza la etiqueta <link> para enlazar los archivos CSS externos, se puede utilizar el atributomedia para indicar el medio o medios en los que se aplican los estilos de cada archivo:
<link rel="stylesheet" type="text/css" media="screen" href="basico.css" />
<link rel="stylesheet" type="text/css" media="print, handheld" href="especial.css" />
En este ejemplo, el primer archivo CSS se tiene en cuenta cuando la página se visualiza en la pantalla (media="screen"). Los estilos indicados en el segundo archivo CSS, se aplican al imprimir la página (media="print") o al visualizarla en un dispositivo móvil (media="handheld"), como por ejemplo en un iPhone.
Si la etiqueta <link> no indica el medio CSS, se sobreentiende que los estilos se deben aplicar a todos los medios, por lo que es equivalente a indicar media="all".

1.8.4. Medios definidos mezclando varios métodos

CSS también permite mezclar los tres métodos anteriores para indicar los medios en los que se aplica cada archivo CSS externo:
<link rel="stylesheet" type="text/css"  media="screen" href="basico.css" />
@import url("estilos_seccion.css") screen;
@media print {
  /* Estilos específicos para impresora */
}
Los estilos CSS que se aplican cuando se visualiza la página en una pantalla se obtienen mediante el recurso enlazado con la etiqueta <link> y mediante el archivo CSS externo incluido con la regla de tipo @import. Además, los estilos aplicados cuando se imprime la página se indican directamente en la página HTML mediante la regla de tipo @media.


0 comentarios:

Publicar un comentario