Documente Academic
Documente Profesional
Documente Cultură
En este ejemplo partamos de unos valores fijos: un contenedor de 960 pixels y dentro
del mismo un elemento de 360 pixels de ancho. Si dividimos el segundo entre el
primero y multiplicamos el resultado por 100 obtendremos el valor de 37,5%, que ser
el ancho que aplicaremos a dicho elemento. Es decir, el ancho del elemento interior
ser siempre el 37,5% del ancho del primero. De esta forma cuando el ancho del
elemento padre se adapta, todos los anchos de los elementos interiores varan
en funcin de su porcentaje. Ahora el elemento interno, en la hoja de estilos, tendr
en lugar de un width=360px un width=37,5%.
Lo mismo haremos con los tamaos de las fuentes (por ejemplo, si el tamao
general es del 100%, que equivale a 16px, y tenemos un ttulo de 22px, su nuevo
tamao ser de 22/16 = 1.375em). Pero, qu pasa con las imgenes u otros
elementos que tienen un ancho fijo? Podemos adaptar su ancho as:
1
De esta manera su ancho nunca exceder del ancho del elemento que la contiene. Y
si dicho elemento cambia de ancho, tambin lo har la imagen en todos los
navegadores modernos. He dicho modernos? Efectivamente, IE7 e IE6 no lo
soportan. Para estos navegadores lo mejor es incluir en su hoja de estilos especfica:
1
Esta regla es completamente distinta de la anterior: Ahora decimos que la imagen (por
ejemplo) siempre tendr el mismo ancho de su contenedor. Es por ello por lo que
hay que tener cuidado sobre qu elemento se aplica.
Esta ltima opcin est aplicada de manera general (no slo para IE) en nuestra
pgina de trabajos realizados. Probad a reducir el ancho de la ventana del navegador
y veris como se reduce el tamao de cada imagen.
Esto est muy bien hasta que nos encontramos con anchos de pantalla realmente
pequeos (por ejemplo un mvil). Si tenemos una web con tres columnas, montones
de botones, men horizontal a la derecha del logo, etc.. al comprimir tanto el tamao
de la pantalla, por mucho que los anchos sean fluidos, puede acabar todo en un caos.
Es probable que tengamos que prescindir de ciertos elementos de la web o situarlos
en un lugar diferente. Para ello utilizaremos los Media Queries.
320px
480px
600px
768px
900px
1200px
La mayor parte de las veces estos son demasiados anchos de pantalla, no hay tiempo
suficiente para tanta optimizacin. Investiga bien cuales sern (o son si tienes ya
datos histricos gracias por ejemplo a tu herramienta de analtica web) los anchos
usados por tus usuarios y cntrate en ellos. Lo ms habitual es, al menos, hacerlo
para 480 pxeles.
Tambin puedes, si quieres, dar una serie de reglas CSS para pantallas superiores a
un ancho determinado, usando min-width. Por ejemplo, para anchos superiores a
1.200px:
1
2
3
Como veis podemos tener perfectamente separados los estilos de cada ancho de
pantalla para el que queramos optimizar nuestro diseo. Si queris incluso separar
las hojas de estilo podis tambin hacerlo. Por ejemplo, si queris cargar una hoja
de estilo independiente para anchos de pantalla inferiores a 480 pxeles:
O tambin:
1
Podis ir incluso ms all gracias al uso de and para poner un mnimo y un mximo
en los anchos de pantalla donde aplicar los estilos:
1
1
2
Meta tags
Por ltimo, es importante aadir un meta-tag dentro del elemento header de nuestra
web que le diga al navegador que use el ancho del medio (por ejemplo, del mvil)
como ancho de la web, anulando la escala inicial:
1
Utiliza Respond.js para hacer funcionar los Media Queries en Internet Explorer
Otro gran ejemplo es Robot or Not?, utilizado por Ettan Marcotte como ejemplo de su
gran libro Responsive Web Design.
Otro ejemplo, quizs menos efectista que los anteriores, es esta web sobre Garret
Keizer.
En Media Queries podis ver una coleccin de sitios que usan Diseo web adaptable.
Artculos recomendados