Anda di halaman 1dari 14

Introduccin a Media Queries con CSS3

Qu son los Media Queries?


La rpida distribucin de dispositivos mviles, ha puesto el mundo del web de cabeza.
Los usuarios ya no ven nicamente contenido web en computadoras de escritorio, sino
en smartphones, tabletas y otros dispositivos con un amplio rango de dimensiones. El
reto para los diseadores web es asegurar que sus sitios puedan verse bien, no slo en
una pantalla grande, sino tambin en una pequea pantalla de celular y cualquier
pantalla de por medio.
Los Media Queries, son una excelente forma de entregar diferentes estilos para
diferentes dispositivos, y proveer la mejor experiencia para cada tipo de usuario. Como
parte de la especificacin CSS3, los Media Queries expanden el rol del atributo media,
que controla como se aplican los estilos. Por ejemplo: se ha vuelto una prctica comn
por aos el uso de una hoja de estilos por separado para imprimir sitios web al
especificar media = print. Los Media Queries, llevan esta idea al siguiente nivel, al
permitir a los diseadores asignar estilos basados en las propiedades de un dispositivo,
como el ancho de pantalla, orientacin y as sucesivamente.
Las Figuras 1- 3, muestran los Media Queries en accin. De hecho muestran el mismo
sitio web, visto en una computadora de escritorio, en una tableta y en un iPod Touch.

Figura 1. Al ser vista en una computadora de escritorio, el sitio tiene un layout de dos
columnas.
En la versin de escritorio, la pgina tiene un ancho fijo y un layout de dos columnas,
pero cuando el mismo sitio es visto en una tableta, la barra lateral se desplaza debajo del
contenido principal.
<link href="css/phone.css" rel="stylesheet" type="text/css"
media="only screen and (max-width: 400px)" >

Figura 2. El layout cambia a una sola columna para ajustarse a una pantalla ms angosta
de una tableta.
Al ser visto el sitio en un iPod Touch, el men se re-acomoda y las imgenes reducen su
escala. Los diferentes estilos se aplican dependiendo el dispositivo con el uso de Media
Queries.

Figura 3. Los Media Queries definen nuevos estilos al sitio para ajustarse a una pantalla
mucho ms pequea.
Este artculo da una visin general de los Media Queries, incluyendo ejemplos que
pueden ser de utilidad para el desarrollo de un sitio web.
Nota: Asegurate de ver los videos en Adobe TV: CSS3 Media Queries con
Dreamweaver y Como los Media Queries pueden facilitar el diseo para dispositivos
mviles y diferentes tipos de pantallas.

Ejemplos de Media Queries


Un ejemplo simple de un Medya Query puede verse as:
<link href="css/phone.css" rel="stylesheet" type="text/css"
media="only screen and (max-width: 400px)" >

En este ejemplo, el Media Query, ha sido agregado a la etiqueta. Como podrs ver ms
adelante, puedes usar Media Queries con hojas de estilo. El atributo media es dnde
reside el Query. Este otro dice:
only screen and (max-width: 400px)

El significado puede ser obvio: aplica esta hoja de estilo slo a un dispositivo con una
ventana de navegador no mayor a 400 pixeles. Puedes observar por el nombre del
archivo phone.css que este Query en particular, esta hecho para estilos de un dispositivo
mvil. Ahora que has visto un ejemplo, vamos a profundizar en los Media Queries y las
caractersticas de un dispositivo que se pueden utilizar para controlar como se aplican
los estilos.

Soporte y caractersticas de Media Queries


Los Media Queries tienen soporto en Internet Explorer 9+, Firefox 3.5+, Safari 3+,
Opera 7+, as como en los smartphones ms modernos y otros dispositivos mviles.
Aunque versiones viejas de IE no soporten los Media Queries, puedes -y deberasempezar a usarlos ahora. Ms adelante se discute como lidiar con versiones viejas de
navegadores.
Tabla 1 lista de caractersticas de dispositivos que se pueden usar con Media Queries.
Feature

Value

width

Length

height

Length

device-width Length
deviceLength
height
portrait
orientation
orlandscape

Min/Max Description
Width of display
Yes
area
Height of display
Yes
area
Yes
Width of device
Yes
No

aspect-ratio Ratio (w/h)

Yes

deviceRatio (w/h)
aspect-ratio

Yes

color

Integer

Yes

color-index

Integer

Yes

monochrome Integer

Yes

Height of device
Orientation of
device
Ratio of width to
height, expressed
as two integers
separated by a
slash (e.g., 16/9)
Ratio of devicewidth to deviceheight
Number of bits per
color component
(if not color, the
value is 0)
Number of entries
in the output
devices color
lookup table
Number of bits per
pixel in the
monochrome
frame buffer (if not

resolution

Resolution

Yes

scan

progressiveor
No
interlace

grid

0 or 1

No

monochrome, the
value is 0)
Density of pixels
of output device,
express as integer
followed by
dpi(dots per inch)
or dpcm (dots per
centimeter)
Scanning process
used by TV
devices
If set to 1, the
device is gridbased, such as a
teletype terminal
or phone display
with only one fixed
font (all other
devices are 0)

Tabla 1. Caractersticas de dispositivos para ajustar condiciones en Media Queries.


Las primeras cinco caractersticas de la Tabla 1 (width, height, device-width, deviceheight y orientation) son las ms tiles. Puedes agregar un prefijo a la mayora de las
caractersticas con min- y max- para indicar un valor mnimo y mximo, como min-with
y max-width. La columna Min/Max en la Tabla 1, indica que caractersticas se pueden
modificar de esta manera.

Ancho, ancho de dispositivo y ventana.


Quizs uno de los aspectos ms confusos de los Media Queries, es la diferencia entre
width y height y sus valores equivalentes predefinidos por device-. En el caso de
computadoras portables y de escritorio, la diferencia es fcil de entender: width y height
se refieren al tamao de la ventana del navegador, mientras que device-width y deviceheight se refieren a las dimensiones del monitor. No todo mundo corre su navegador a
pantalla completa, as que tienes que utilizar width y height.
Los navegadores de dispositivos mviles, ocupan toda la pantalla, as que podras
esperar que width y device-width sean lo mismo. Desafortunadamente no siempre es el
caso. La mayora de los smartphones, incluyendo Android, iPhone y Windows Phone 7,
ajustan width a una vista nominal de aproximadamente 1000 pixeles de ancho (en un
iPhone y iPod Touch, de 980 pixeles, Windows Phone 7 usa 1024). La Figura 4 muestra
como un iPod Touch despliega normalmente la pgina de ejemplo en las figuras
previas.

Figura 4. Por default, los dispositivos modernos, escalan los sitios web para encajar en
una ventana hipottica.
Aunque la hoja de estilos este vinculada con la pgina utilizando Media Queries, para
proporcionar diferentes estilos dependiendo de los valores min-width y max-width, el
iPod Touch, ignora los estilos y despliega la versin de escritorio por que su ventana se
considera de 980 pixeles de ancho.
Para hacerlo ms confuso, el iPhone, iPod Touch y iPad, no toman en cuenta la
orientacin para calcular el ancho, mientras que otros dispositivos si.
Afortunadamente hay una solucin simple para esta confusin. La nueva etiqueta de
Apple, que ha sido adoptada ampliamente por otros fabricantes de dispositivos mviles,
se ha incorporado a la especificacin que muy probablemente apruebe la World Wide
Web Consortium (W3C). Para asegurar un campo de juego con todos los dispositivos
mviles que soporten Media Queries, slo agrega la siguiente lnea de cdigo en la
etiquetade cada pgina:
<meta name="viewport" content="width=device-width, initial-scale=1">

Esto le dice a un dispositivo mvil que trate una ventana al mismo ancho del ancho
fsico del dispositivo. Es ms, le dice al iPhone, iPod Touch y iPad que tome en cuenta

la orientacin para calcular el ancho. Como resultado, puedes usar width con la
seguridad que significa lo que realmente es.
Nota: Muchos dispositivos mviles, particularmente el iPhone 4 y iPad 2, tienen
pantallas de alta resolucin con una densidad de pixel (resolucin) mayor a una
computadora de escritorio o una laptop. Esto no afecta como calculas el tamao en
pixeles dentro de los CSS. La especificacin CSS, dice: si la densidad de pixel del
dispositivo, es muy diferente de una computadora, el navegador, debe re-escalar los
valores de los pixeles. Algunos desarrolladores, ahora se refieren a medidas en pixeles
como CSS pixels.

Como escribir Media Queries


Para agregar un Media Querie al atributo media, tienes que ajustar una o ms
condiciones con las caractersticas de la Tabla 1. Especificas el valor para una
caracterstica y despus dos puntos, de la misma forma que una propiedad de CSS. Cada
condicin esta envuelta en parntesis y se agrega a la declaracin con la palabra and.
Por ejemplo:
"media="screen and (min-width: 401px) and (max-width: 600px)"

Los Media Queries son Booleanos: slo pueden ser verdaderos o falsos. Si la condicin
es verdadera, se aplica el estilo; si es falsa, ser ignorada.
Algunas caractersticas media, como color, monochrome y grid, se pueden usar como
condiciones sin un valor especfico. Por ejemplo, la siguiente lnea apunta al color de
todos los elementos desplegados.
media="screen and (color)"

Especificaciones alternativas
No existe la palabra clave or para especificar caractersticas media alternativas. En
cambio, se enlistan alternativas separadas por coma, de esta forma:
media="screen and (min-width: 769px), print and (min-width: 6in)"

Esto se aplica a pantallas ms anchas de 769 pixeles o dispositivos de impresin con un


ancho de papel menor a 6 pulgadas.

Especificar condiciones negativas


Para especificar condiciones negativas, puedes preceder la declaracin media con la
palabra clave not de esta forma:
media="not screen and (monochrome)"

Puedes usar not frente a una condicin individual. La palabra clave debe ir al inicio de
una declaracin para negarla por completo. El ejemplo precedente aplica a todos los
dispositivos excepto de pantallas monocromticas.

Esconder Media Queries de navegadores viejos


La especificacin de Media Queries tambin provee la palabra only, que pretende
esconder los Media Queries de navegadores viejos. Al igual que not, la palabra clave
debe ir al inicio de la declaracin. Por ejemplo:
media="only screen and (min-width: 401px) and (max-width: 600px)"

Los navegadores que no reconocen Media Queries, esperan una lista separada por
comas de media types, y la especificacin dice que se debera truncar cada valor,
inmediatamente antes del primer caracter no alfanumrico que no sea un guin. As que
un navegador viejo debera interpretar el ejemplo precedente de esta forma:
media="only"

Como no existe ningn media type only, el estilo es ignorado. De igual manera, un
navegador viejo, deber interpretar lo siguiente como media=screen:
media="screen and (min-width: 401px) and (max-width: 600px)"

En otras palabras, deber aplicar las reglas del estilo a todos los dispositivos, incluso
aunque no sepa que son los Media Queries. Desafortunadamente, IE 6-8 falla al
implementar la especificacin correctamente. En lugar de aplicar los estilos a todos los
dispositivos, ignora por completo la hoja de estilos.
A pesar de este comportamiento, an se recomienda agregar el prefijo only a los Media
Queries, si deseas esconder todos los estilos de otros navegadores menos comunes.

Tratando con versiones ms viejas de Internet Explorer


La falta de soporte para Media Queries en IE 6 hasta IE 8 no es un problema.
Simplemente crea un set bsico de estilos para todos los navegadores que no usen
Media Queries, y utiliza Media Queries para ofrecer una mejor experiencia para
visitantes con navegadores ms modernos.
Alternativamente, puedes usar una condicional de comentario para Internet Explorer y
una serie de reglas para versiones viejas de IE, como estas:
<!--[if lt IE 9 & !IEMobile]>
<link href="iestyles.css" rel="stylesheet" type="text/css">
<![endif]-->

Uso de Media Queries con @import y @media

Adicionalmente a los Media Queries en las etiquetas , al vincular una hoja de estilos
externa, se pueden usar con @import y @media. La sintaxis bsica es la misma. Por
ejemplo, lo siguiente importa una hoja d estilo y aplica los estilos a dispositivos con una
pantalla no mayor a 400 pixeles de ancho.
@import url("phone.css") only screen and (max-width:400px);

Los Media Queries, se pueden usar dentro de una hoja de estilos como esta:
@media only screen and (max-width:400px) {
#navbar {
float: none;
width: 400px;
}
}

Prueba de Media Queries


Probar tu cdigo es importante. Para tabletas y smartphones se complican las pruebas ya
que idealmente deberas tener una serie dispositivos a tu disposicin. Por suerte, puedes
probar la mayora de los Queries sin poseer un dispositivo especfico. Siempre es mejor
tener algo real enfrente, sin embargo, para el propsito de este artculo, con el uso de un
navegador bastar para entender como funcionan los Queries.
El ZIP que acompaa este artculo, contiene un archivo de ejemplo (mediaqueries.html)
con tres diferentes diseos vinculados. Puedes utilizar el ejemplo para continuar con la
siguiente prueba de tamaos. Con la ventana del navegador completamente abierta, se
puede ver el diseo bsico del sitio (ver Figura 1). Haz ms pequea la ventana del
navegador y puedes observar los cambios mientras pasas por las dimensiones de
diferentes dispositivos. Mientras recorres las dimensiones especficas en el cdigo, el
estilo de cambiar al de una tableta (Figura 2) o un celular (Figura 3). La imagen de
encabezado se hace pequea para tabletas por ejemplo; los siguientes mdulos toman un
flujo diferente. Para el estilo de celular, la imagen central desaparece, es sustituida por
un men ms grande de botones verticales.
El navegador verifica los Media Queries cada vez que cambia el tamao de la ventana
del navegador o cuando volteas el celular a de una orientacin vertical a una horizontal.

Media Queries en Dreamweaver CS5.5


Dreamweaver CS5.5 mejor el soporte para Media Queries, desde que Adobe introdujo
la actualizacin 11.0.3. El nuevo cuadro de dilogo para Media Queries, te ayuda a
mantener tus Media Queries para una sola pgina o para un sitio completo (ver Figura
5).
Puedes acceder al cuadro de dilogo Media Queries de cualquiera de los siguientes
lugares:

Modify > Media Queries


Panel Multiscreen Preview > Boton Media Queries

Men dropdown Multiscreen > Media Queries


Opciones del men del panel CSS Styles
Men contextual del panel CSS Styles

Figura 5. Cuadro de dilogo Media Queries en Dreamweaver CS5.5


Con el uso de este cuadro de dilogo podrs:

Crear mltiples Media Queries.


Vincular Media Queries a la pgina actual, que aade vnculos a uno o varios
archivos CSS.
Crear un archivo de ancho de sitio de Media Queries, que vincule a un solo y
centralizado archivo CSS que importe otros archivos CSS especficos para cada
dispositivo.

En el uso de un archivo de ancho de sitio de Media Queries, puedes vincular archivos


existentes CSS o crear nuevos desde el mismo cuadro de dilogo. Incluso puedes crear
comentarios arriba del query con lo que quieras agregar como descripcin.
Adicionalmente, puedes escoger agregar la etiquetaal documento, que forze al
dispositivo reportar sus dimensiones actuales, en lugar del tamao del valor nominal del
viewport. Seleccionar esta opcin ayuda a prevenir escalas no deseadas por malos
reportes de tamao.

Nota: Por ahora, el cuadro de dilogo de Media Queries slo lee y escribe Queries con
al menos un valor min-width y max-width. El cuadro de dilogo slo edita los valores
min- y max-. Puedes editar manualmente otros parmetros, pero min-width y max-width
son los valores ms comunes enfocados a dispositivos.

Ajustes predeterminados y definicin de un sitio


El cuadro de dilogo Media Queries incluso provee una opcin de presets en la parte
inferior del rea de lista. Selecciona estos presets y Dreamweaver crea de manera
automtica:

Media Queries para una tableta, celular y computadoras de escritorio.


min-width y max-width con valores iniciales comunes.

El botn de Default Presets provee una forma rpida de iniciar con Media Queries.
Otra manera conveniente de gestionar un archivo de ancho de sitio, es a travs del
cuadro de dilogo Site Setup. Ahora existe un campo llamado Site-wide Media Query
File, en Advanced Settings > Local Info, que especifica el archivo de ancho de sitio. El
archivo listado aqu, aparece como la opcin cada vez que abres el cuadro de dilogo de
Meida Queries. Para un nuevo archivo (o existente) todo lo que tienes que hacer es
seleccionar esa opcin para aplicar el archivo de ancho Media Query a la pgina actual.
Nota: Cambiar este archivo, no actualizar de manera automtica todos los archivos del
sitio.
El cuadro de dilogo Media Queries, ofrece una gran forma de simplificar la creacin y
gestin de tus Media Queries.
Media Queries son la mejor forma de focalizar dispositivos con diferentes estilos. Como
se muestra en la parte superior, no se usan nicamente para smartphones, tambin se
pueden usar para controlar el estilo de cualquier pantalla.
Nota: Esta es una versin actualizada y expandida del artculo original escrito por
Donald Booth.
[Descargar Archivos]

Compartir:

Twitter
Facebook
Google

Tambin te puede interesar:

Adobe Illustrator CS5 HTML5 Pack Adobe ha liberado una extensin para trabajar
con HTML5 y CSS3 desde Illustrator. Este paquete provee...

Fundamentos de CSS3 Si alguna vez has estado en el mundo del desarrollo web,
seguramente has escuchado de CSS, o ms formalmente,...

Diez cosas que necesitas saber acerca del Diseo Responsivo (Parte II) El
Diseo Responsivo es bueno para el SEO El diseo responsivo mejora la optimizacin de los
motores...

Tags: css3, dreamweaver, html5, tutorial

16 Respuestas a Introduccin a Media Queries con CSS3


1.

RONEL says:
April 27, 2012 at 4:46 pm
Demasiado interesante saberlo y usarlo en la actualidad que es cada vez ms
comn la navegacin por dispositivos mviles.
Adems de resultar la compatibilidad con Internet Explorer 8 que es relevante
todava.

2. Introduccin a Media Queries con CSS3 - G3ek Army says:


May 14, 2012 at 12:25 pm
[...] Fuente: http://activ.com.mx/introduccion-a-media-queries-con-css3/ [...]
3. Introduccin a Media Queries con CSS3 - G3ek Army says:
May 14, 2012 at 12:25 pm
[...] Fuente: http://activ.com.mx/introduccion-a-media-queries-con-css3/ [...]
4.

Jon says:
June 12, 2012 at 9:24 am
Y el ZIP?

5.

activ says:

June 18, 2012 at 3:53 pm


Ups una disculpa aqu tienes el link al zip desde el portal de devnet
http://download.macromedia.com/pub/developer/dreamweaver/mediaqueries.zip
6.

Carlos Gutirrez says:


July 9, 2012 at 11:34 am
Excelente articulo. Agregado a marcadores, gracias.
Saludos.

7. Inaugurando con diseo adaptable - El blog de Marcos Merino says:


September 22, 2012 at 12:33 pm
[...] en el uso de valores relativos (porcentajes, en lugar de pxeles) en el CSS3,
y en los media queries, es una tecnologa naciente (el trmino responsive
design fue [...]
8.

Jos Gil says:


April 30, 2013 at 3:12 pm
Me puedes facilitar el Documento CSS Phone.css y Tablet.css

9.

Sergio Brito says:


May 1, 2013 at 12:53 pm
Claro! puedes descargarlos aqu

10.

julio says:
May 6, 2013 at 1:55 pm
Hola que buen articulo! este y en espaol pero ademas del idioma se explica que
se entiende

11. Qu son los media queries, introduccin bsica | JovenRED says:


June 6, 2013 at 7:39 pm
[...] Si deseas saber ms visita activ [...]

12.

miriam says:
June 18, 2013 at 11:08 pm
muy buen articulo!!

13. Maquetar dejando fijo el pie de pginaWebmasters, Codigos Y todo sobre


programacion says:
September 7, 2013 at 10:30 am
[] amigos, Necesito maquetar un sitio de como el siguiente:
http://activ.com.mx/introduccion-a-mries-con-css3/ Tengo un encabezado
(header) al borde superior de la ventana y el pie (footer) pegado al borde []
14.

Gonzalo says:
January 10, 2014 at 9:35 am
Muchas gracias, estaba intentando emular una pgina que usaba estas queries y
no tena ni idea hasta que he ledo este tutorial.

15. Diseo responsive: las media queries says:


March 8, 2014 at 1:54 pm
[] explico cmo solventarlo. Este post es una pequea aproximacin a las
mismas, os recomiendo esta lectura sobre introduccin a las media queries con
Css3 por si queris saber ms. Hasta la semana que []
16.

andres says:
June 25, 2014 at 8:52 pm
excelente, felicitaciones

Dejar un Comentario