Una de las gracias que tiene el CSS es presentar un mismo contenido de diferentes formas. Por tanto, podemos crear diferentes presentaciones dependiendo del dispositivo en el que se vaya a visualizar nuestra página. Por ejemplo, no será lo mismo mostrar una página en un ordenador convencional que en una PDA.
Para ello tenemos una serie de valores que aplicar a las etiquetas <style>
o <link>
con el parámetro media.
Si a media le damos el valor:
- all: ese fichero CSS será cargado para todos los dispositivos
- screen: para monitores de ordenador normales (valor por defecto)
- print: para impresión
- aural: sintetizadores de voz
- handheld: asistentes personales (PDA’s)
- braille: máquinas capaces de reproducir formato braille para personas invidentes
- embossed: para imprimir texto en braille
- projection: proyectores y transparencias
- tty: terminales
- tv: televisores
Puede ser un solo valor o varios separados por comas.
Veamos un ejemplo en el que dependiendo de si han accedido a nuestra página a través de un ordenador o a través de una PDA, cargamos una hoja de estilos u otra:
<style type="text/css" media="screen">
@import "estilos_normal.css";
</style>
<style type="text/css" media="handheld">
@import "estilos_pda.css";
</style>
Pero también podemos hacer esto dentro de una única hoja de estilos con la regla @media. Ésta permite aplicar diferentes estilos dentro de una misma hoja dependiendo del medio. Ejemplos:
@media print {
body { font-size: 10pt }
}
@media screen {
body { font-size: 12pt }
}
@media screen, print {
body { line-height: 1.2 }
}