WILFREDO SALAS G. - Responsive Web Design - Webuda
WILFREDO SALAS G. - Responsive Web Design - Webuda
WILFREDO SALAS G. - Responsive Web Design - Webuda
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>WILFREDO</strong> <strong>SALAS</strong> G.<br />
<strong>Responsive</strong><br />
<strong>Web</strong> <strong>Design</strong><br />
Todo lo que necesitas saber para hacer diseños web sensibles
Índice<br />
CAPÍTULO 1<br />
Nuestro Mundo Sensible<br />
CAPÍTULO 2<br />
La grilla flexible<br />
CAPÍTULO 3<br />
Imágenes flexibles<br />
CAPÍTULO 4<br />
Media queries<br />
CAPÍTULO 5<br />
Más sobre responsive<br />
3<br />
8<br />
19<br />
24<br />
30
CAPÍTULO 1<br />
Nuestro Mundo Sensible<br />
AL EMPEZAR A ESCRIBIR no me paro de preguntar en dónde el lector se sentará y en qué verá el contenido de<br />
este libro, inclusive, dada la naturaleza digital de este ejemplar es muy poco probable que las personas<br />
lo bajen, lean un poco de un computador y después lo impriman para poder tomar notas o leer de una<br />
forma más relajada para ellos, pero aún así, hay que ponerse en ese plano. Hay otros que sencillamente<br />
lo leerán dentro de sus tablets, o hasta smartphones e inclusive, otros más prácticos simplemente<br />
tendrán la versión pdf en su computador para poder revisarla las veces que sea necesario mientras están<br />
trabajando, o estudiando, o aplicando el paso a paso de información en los cuáles se verán inmersos<br />
dentro de los próximos capítulos.<br />
La verdad, es un poco complicado analizar todas las posibles situaciones y ver cuál es una buena solución<br />
para cada una de ellas, por eso mismo decidí no preocuparme para nada. En este preciso momento,<br />
existen una gran cantidad de elementos tecnológicos que se convirtieron en parte de nuestras vidas tan<br />
rápido como llegaron, de hecho, hay personas que hasta no pueden concebir su vida sin alguno de estos<br />
aparatos. Digamos que yo tengo un sentimiento parecido con mi PlayStation® 3, pero no va al caso…<br />
del libro, lo que sí va al caso del libro es la libertad de elementos en donde las personas hacen su vida<br />
cotidiana, en donde revisan su correspondencia, ven videos, fotos, se contactan con viejos amigos del<br />
colegio y así. Todo esto estoy seguro que impactará a cualquier persona que se congeló en los años 90 y<br />
viene despertando en estos días.<br />
De hecho, analicemos la historia de la humanidad hasta ahora: la única forma de expresión de los hombres<br />
de las cavernas era dentro las rocas en donde se refugiaban, después se inventó el papel, la escritura, se<br />
podía mantener un registro más perpetuo sobre piedra trabajada. Los procesos se siguieron puliendo, la<br />
maquina aumentó la rapidez y producción de elementos y la era digital nos ha transportado a un mundo<br />
completamente nuevo e instantáneo, y ahora nos lleva a un universo en donde la multiplataforma es pan<br />
de cada día, en donde cada persona joven está conectada a, por lo menos, dos o tres pantallas a la vez.<br />
3 RESPONSIVE WEB DESIGN — Capítulo 1: Nuestro mundo sensible
Ahora, cómo se aplica esto a nosotros que trabajamos con las imágenes, qué pasa con los diseñadores<br />
en general. Hasta ahora la adaptación de nuevas tecnologías no ha dado muchos problemas a los<br />
diseñadores gráficos, inclusive, hay veces que el mismo diseño se ha beneficiado enormemente<br />
debido a una actualización de un software por ejemplo, pero el medio que más se fortaleció con<br />
todos estos cambios ha sido el del diseño web. Piensa, ahora para un mismo proyecto tienes tres o<br />
cuatro lienzos para trabajar… a la vez. El ejemplo más cercano que se tiene es este mismo libro, el<br />
cuál lo puedes imprimir, ver desde tu computador, o desde un dispositivo móvil. Estamos dentro de<br />
un mundo completamente adaptado y sensible y es imposible salir de él, y ya es hora de empezar<br />
a adaptarse. Es como en Matrix, en donde tenías la opción de tomar la pastilla azul y conocer la<br />
verdad o tomar la pastilla roja y vivir en ese mundo de mentiras. Bueno, si sigues más allá de este<br />
capítulo te aseguro que habrás tomado la pastilla azul (no, no esa otra “pastilla azul”), y verás más<br />
allá del web.<br />
ALGO MÁS PARA COMENZAR<br />
Hace mucho tiempo, en un lugar muy lejano, John Allsopp escribió un ensayo llamado “Un Dao de<br />
Diseño <strong>Web</strong>” (http://www.alistapart.com/articles/dao/), en el cuál John dice:<br />
‘El control que los diseñadores tienen sobre el medio impreso, y en el cuál desean comúnmente en el<br />
medio web, es simplemente una función de la limitación de la página impresa. Deberíamos entender<br />
el hecho que la web no tiene las mismas restricciones, y diseñar para esa flexibilidad. Pero primero,<br />
debemos “aceptar el flujo de las cosas”.’<br />
Aunque no se crea, ese ensayo se escribió hace unos diez años, en donde internet era una herramienta<br />
importante, pero no tenía el impacto social que tiene ahora. Nótese que ya se hablaba de flexibilidad<br />
hace diez años, ahora esa flexibilidad está ahí y hay que aceptarla tal como es y aceptar como las<br />
cosas fluyen y en dónde fluyen, y como las cosas siguen fluyendo, el diseño web se adaptó a ese<br />
flujo. Ahora existen diseñadores que tienen conciencia de este flujo y saben que hay que generar<br />
experiencias distintas, dependiendo de dónde esté viendo la página. El mejor ejemplo que pude<br />
encontrar fue un simple artículo de la bbc:<br />
http://www.bbc.co.uk/news/mobile/science-environment-13095307<br />
Si analizan la dirección con más cuidado, uno se fija en la carpeta /mobile/ dentro de la URL. Ya<br />
con eso le dicen al usuario que, cada vez que vean esta página a través de un dispostivo móvil,<br />
tendrá una experiencia única de la misma página en su versión de escritorio. De hecho, si hacen el<br />
experimento de quitar el /mobile/ de la dirección, verán que es la misma noticia, pero una mayor<br />
cantidad de elementos, los cuales se permiten dentro del formato de escritorio. Todo es cosa de<br />
contexto.<br />
4 RESPONSIVE WEB DESIGN — Capítulo 1: Nuestro mundo sensible
FIG.2<br />
FIG.1<br />
FIG.1 es el link que se mostró anteriormente, pero visto desde un iphone, mientras que la FIG.2 es la misma página, pero vista<br />
sin el /mobile/ y en una pantalla más grande. Fíjense que la carpeta /mobile/ es la que da la experiencia fluida y dinámica a la<br />
página web y deja que se adapte donde uno la esté viendo.<br />
5 RESPONSIVE WEB DESIGN — Capítulo 1: Nuestro mundo sensible
COSA DE CONTEXTO<br />
El contexto, según la RAE, tiene dos acepciones:<br />
1. m. Entorno lingüístico del cual depende el sentido y el valor de una palabra, frase o fragmento<br />
considerados.<br />
2. m. Entorno físico o de situación, ya sea político, histórico, cultural o de cualquier otra índole, en el cual<br />
se considera un hecho.<br />
En resumen, el contexto es el entorno físico o de situación a partir del cual se considera un hecho.<br />
Si ponemos todas estas lindas palabras en función del diseño web, tenemos que cuando se habla de<br />
entorno físico, se refiere a los dispositivos disponibles en donde te puedes conectar a internet, y sus<br />
respectivos navegadores. La situación se refiere al ahora ya en donde el entorno físico se desarrolló y<br />
el hecho que junta todos estos puntos en un contexto le llamaremos <strong>Responsive</strong> web design. Ahora,<br />
la pregunta es “¿y qué es el <strong>Responsive</strong> <strong>Web</strong> <strong>Design</strong>?”. <strong>Responsive</strong> <strong>Web</strong> <strong>Design</strong> se trata de cómo una<br />
página se convierte en “sensible”, e identifica en el dispositivo en donde se está mostrando – como un<br />
computador de escritorio, tableta o teléfono – y se adapta a ese dispositivo sin perder contenido, o sea,<br />
de “fluir en el contexto” en el cuál se le presenta.<br />
En conclusión, hay que abrazar al responsive web design, impregnarnos con la flexibilidad de la web,<br />
sin el control que requerimos como diseñadores. Todo esto con tecnologías ya estandarizadas para hacer<br />
nuestro trabajo, y haciendo un pequeño pero gran cambio en nuestra filosofía hacia el diseño web.<br />
LOS INGREDIENTES<br />
Entonces, qué es lo necesario para hacer una página estática, rígida y… “fome”, abrace al <strong>Responsive</strong> <strong>Web</strong><br />
<strong>Design</strong>. Hablando en términos puramente de diseño web front-end, es necesario sólo tres ingredientes:<br />
1. Una diagramación basada en una grilla flexible.<br />
2. Imágenes y media flexibles, y<br />
3. Media queries, un módulo específico de CSS3.<br />
Durante los próximos capítulos desmenuzaremos estos tres puntos – la diagramación flexible, el media<br />
e imágenes flexibles y los media queries - haciendo que nuestro diseño web tenga un acercamiento<br />
más flexible y fluido. Además, de adaptarse a la mayoría de las plataformas y a todos los navegadores,<br />
haciendo que nuestro diseño responda casi a todas las necesidades de los usuarios. Pero entre tantas<br />
palabras, los que trabajamos con gráfica nos enredamos y necesitamos ejemplos visuales para entender<br />
cómo funcionan las cosas. Para este caso, voy a mostrar el ejemplo más cercano que se me pudo ocurrir:<br />
la misma página web en donde descargaron este libro digital ( http://rwd.webuda.com/).<br />
6 RESPONSIVE WEB DESIGN — Capítulo 1: Nuestro mundo sensible
Desde que este proyecto empezó a emerger, el tener una página web que reflejara todo el trabajo<br />
teórico llevado a algo práctico era más que necesario. Además, siendo honestos, no tener una página<br />
fluida y flexible – en donde descargarás un libro / manual sobre un sistema fluido y sensible de web<br />
– es algo bastante ridículo, hasta deprimente.<br />
Algo que siempre se nos recalca en las escuelas de diseño es siempre mirar los detalles, y si no te<br />
lo enseñaron, mejor que lo empieces a ver eso ahora mismo, para el diseño web los detalles son<br />
importantes igual, pero hay que tener cosas en consideración: a pesar de que las páginas tienen<br />
muchas plataformas y navegadores en donde pueden ser mostradas, no es una obligación hacer<br />
que se vea completamente igual en todas ellas, especialmente en el “cuco” más grande que todos<br />
los diseñadores front-end tienen a lo largo de su vida… Internet Explorer (hay algunos que hasta los<br />
persigue en los sueños, algo así como Freddy Krueger), pero aún así, no hay que caer en la flojera de<br />
decir “ah, si es Internet Explorer no más”. Siempre hay que dar un paso más y hacer lo casi imposible<br />
para que la página sea lo más compatible posible para todos los navegadores y dispositivos.<br />
A pesar de que Internet Explorer es el dolor de cabeza de todos los diseñadores web, no tiene que<br />
convertirse en un aneurisma como pasa comúnmente. Esta nueva filosofía de diseño flexible y<br />
adaptable va de la mano con tecnologías estandarizadas ya. Microsoft está haciendo cambios<br />
grandes en temas como diseño de sus productos, hardware y en especial software, ya se han visto<br />
cambios bastante interesantes en los nuevos lanzamientos de este año y también han habido haces<br />
de luz en programas como Internet Explorer 9, a pesar de que aún hay que insistir en elementos que<br />
no son compatibles como con los otros navegadores (Chrome, Firefox, Safari, etc), así que mi consejo<br />
es seguir esperando que los estándares actuales de diseño web sean generalmente compatibles,<br />
pero mientras eso no pase, hay que tener en cuenta esos no tan pequeños detalles. ¿Y porqué estoy<br />
hablando de Internet Explorer de repente?, ah, sí, porque la página web que contiene los archivos<br />
descargables de este libro tiene que ser lo más compatible posible para los navegadores más usados:<br />
Chrome, Firefox, Safari, Internet Explorer, Opera, y sumando también el nuevo concepto que<br />
estamos incorporando ahora, el <strong>Responsive</strong> web design.<br />
Ya, mucho hablar y poca acción. Es hora de ponerse a trabajar.<br />
7 RESPONSIVE WEB DESIGN — Capítulo 1: Nuestro mundo sensible
CAPÍTULO 2<br />
La grilla sensible<br />
UNA DE LAS IDEAS que llevaron a cabo el concepto de <strong>Responsive</strong> <strong>Web</strong> <strong>Design</strong> fue la de tomar la estructura<br />
rígida de las páginas web y llevarlas a un plano flexible y adaptable, como si se pudiera hacer con la<br />
mente. Este pensamiento fue bastante innovador en su tiempo, pero sólo se pudo llevar a cabo como Dios<br />
manda cuando aparecieron dos actores en el diseño web: HTML5 y CSS3.<br />
Lamentablemente el propósito de este manual no es instruir en estos dos temas, así que la persona que<br />
está leyendo esto debería tener por lo menos conocimientos básicos de estos dos lenguajes de maquetación<br />
web. Para los que se saltaron ese párrafo, puedo decir que gracias a las nuevas etiquetas, semántica<br />
y características de estos dos lenguajes se hizo posible transformas las grillas estáticas en forma de<br />
pixeles, a grillas flexibles adaptables a cualquier dispositivo, o sea, hacer las páginas responsive.<br />
A “SANAR EL CONTEXTO”<br />
Sería bastante raro que al leer este título venga uno vestido como chamán a hacerle una «curación» a la<br />
página, manual y todo lo demás. El verdadero sentido del título es sobre la transformación de un estado<br />
rígido a uno flexible de todos los elementos de una página web. Para hacer eso, es necesario transformar<br />
la gráfica que se hizo para la página web en Photoshop o Illustrator, In<strong>Design</strong> (en este caso fue In<strong>Design</strong>)<br />
(FIG.3.) en algo más fluido y proporcional.<br />
8 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
FIG.3 Un ejemplo de la página web en donde descargaste este manual.<br />
9 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
TIPOGRAFÍA FLEXIBLE<br />
Para esta parte vamos a tomar el ejemplo más cercano que se pudo encontrar en el manual, el cual justo<br />
es la página web en donde descargaste el manual, de ahí nos vamos a enfocar en el título de la página.<br />
Este título viene con el siguiente código:<br />
<br />
<br />
<br />
<strong>Responsive</strong> <strong>Web</strong> <strong>Design</strong><br />
Todo lo que necesitas saber para hacer diseños web sensibles<br />
Acá tendrás el manual en español, hecho por y para diseñadores sobre<br />
responsive web design. ¿Crees que puedes manejar ser tan cool?.<br />
<br />
<br />
Bonito ¿no?, pero aún así lo que sale acá es sólo texto plano (FIG.4). Para darle estilo y diseño hay que<br />
utilizar código CSS, que en este caso sería algo como esto:<br />
FIG4. Con código de HTML5 sólo aparecerá esto, un estilo de nada.<br />
#titulo h1{<br />
}<br />
font-family:helvetica_med_con, helvetica, sans-serif;<br />
font-size:72px;<br />
margin-top:40px;<br />
margin-bottom:0;<br />
10 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
#titulo h2{<br />
}<br />
font-family:meta_serif_book, georgia, serif;<br />
font-size:24px;<br />
margin-top:0;<br />
#titulo h3{<br />
}<br />
font-family:meta_serif_book_ita, georgia, serif;<br />
font-size:16px;<br />
Y gracias a la maravilla de CSS, logramos convertir a este adefecio visual en...<br />
FIG5. ... ¡Esto!.<br />
11 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
Ahora sí que se ve «bonito» y agradable a la vida. Analicemos rápidamente lo que vieron: la etiqueta<br />
contiene tres etiquetas de títulos (, , ) y cada una tiene un tipo de fuente<br />
específica (font-family), pero tienen un tamaño rígido (font-size) al medirlos a través de pixeles. No<br />
tiene nada de malo eso, pero para el propósito de una página web fluida, es indispensable cambiarlos<br />
por valores flexibles. Entonces, en vez de px usaremos em.<br />
FLEXIBILIZANDO EL CONTEXTO<br />
Para hacer esto, se tiene que crear el siguiente ejercicio matemático: se toma el tamaño de la fuente y se<br />
divide por el font-size del elemento que lo contenga — en otras palabras, su contexto. El resultado será<br />
que nuestra fuente quedará en un valor em fluido, en vez de px.<br />
En otras palabras, las tipos relativas pueden ser calculadas con la siguiente fórmula:<br />
Objetivo ÷ Contexto = Resultado<br />
Con esta fórmula, ahora podemos calcular el tamaño de nuestras etiquetas , y , que<br />
están dentro del .<br />
Asumiendo que nuestro font-size de base sea de un 100%, nuestro número de contexto será de 16px.<br />
Ahora, se tiene que tomar el tamaño que se usó en primer lugar para las etiquetas ( en este caso) y<br />
dividirlo por su contexto (16px), quedando esto:<br />
70 ÷ 16 = 4.5<br />
Entonces, con esto decimos que 70 es 4.5 veces mayor que 16, o sea, nuestro font-size para es<br />
de 4.5em. Después de eso usamos la misma fórmula para las otras dos etiquetas que faltan, para que<br />
queden:<br />
24 ÷ 16 = 1.5<br />
16 ÷ 16 = 1<br />
Gracias a esto se sabe que el font-size de es de 1.5em y el de de 1em. Con estos cálculos<br />
ya listos se va al CSS y quedan de la siguiente forma:<br />
#titulo h1{<br />
}<br />
font-family:helvetica_med_con, helvetica, sans-serif;<br />
font-size:4.5em; /* 70px / 16px */<br />
margin-top:40px;<br />
margin-bottom:0;<br />
12 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
#titulo h2{<br />
}<br />
font-family:meta_serif_book, georgia, serif;<br />
font-size:1.5em; /* 24px / 16px */<br />
margin-top:0;<br />
#titulo h3{<br />
}<br />
font-family:meta_serif_book_ita, georgia, serif;<br />
font-size:1em; /* 16px / 16px */<br />
Y… ¡listo!, nuestros títulos están listos y encajan en nuestro diseño flexible gracias a ems remedibles y<br />
escalables.<br />
CREANDO LA GRILLA FLEXIBLE<br />
La clave de transformar el contenido fijo a flexible no es algo que queda sólo para las fuentes, tiene que<br />
ser aplicado a todos los elementos dentro de la una página web. Al flexibilizar la grilla nos generamos uno<br />
de las características más importantes dentro de un diseño web responsive, el cual es que el contenido<br />
de la página se pueda redimensionar dependiendo del tamaño en donde se esté viendo. Para esto es<br />
necesario transformar los valores fijos por valores relativos, que en este caso son porcentajes.<br />
Modificar tu grilla a flexible puede ser algo tan fácil que se puede hacer en cinco pasos:<br />
13 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
Paso 1<br />
Ve la grilla: tienes que saber cómo y dónde pusiste cada elemento de tu página antes de hacerle cualquier<br />
modificación (FIG.6). Además, tienes que analizar cuáles serán las áreas dentro de tu página web. (FIG.7)<br />
14 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible<br />
FIG.6 La página web con su grilla<br />
respectiva. Recuerda que el diseño y<br />
diagramación de una página web tiene<br />
que estar basado en una grilla.<br />
FIG.7 Al dividir de esta manera la página,<br />
ya se sabe cuáles son los elementos que<br />
tienen que transformarse en flexibles
Paso 2<br />
Escribe el código: Aunque existen varios software que prácticamente te hacen el código de una página<br />
web, es primordial que aprendas a como hacerlo<br />
<br />
¿Qué es responsive web design?<br />
<strong>Responsive</strong> web design es un término que se está haciendo cada día<br />
más común entre los diseñadores gráficos y web en el mundo, pero que está llegando<br />
muy tarde por estas tierras...<br />
<br />
<br />
Descargar manual iPad<br />
Este manual está pensado para verse en un iPad, puedes acceder a él a<br />
través de la App Store de Apple. Descarga, conecta, sincroniza y disfruta.<br />
<br />
<br />
No tengo iPad, ¿qué hago?<br />
Si no tienes iPad no te preocupes. Abajo hay una variedad de archivos para<br />
que puedas leer este manual desde otro computador, otros tablets (como Android o<br />
Kindle) o desde Readmill.<br />
<br />
El código HTML.<br />
15 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
#que-es, #descarga, #no-ipad{<br />
}<br />
width:320px;<br />
height:180px;<br />
padding-right:15px;<br />
position:relative;<br />
float:left;<br />
font-size:0.875em;<br />
line-height:20px;<br />
cursor:pointer;<br />
#que-es p, #descarga p, #no-ipad p{<br />
}<br />
color:#666;<br />
cursor:auto;<br />
#que-es h1:hover, #descarga h1:hover, #no-ipad h1:hover{<br />
}<br />
text-decoration:underline;<br />
Un extracto de la hoja de estilos CSS.<br />
Paso 3<br />
Mide las columnas: Para saber qué transformar, primero hay que saber cuáles serán las medidas fijas<br />
de cada columna, sección o elemento de la grilla. Lo importante es saber el tamaño total del contenedor<br />
de la página y, además, de cada sección.<br />
16 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
Paso 4<br />
Aplicar la fórmula: La fórmula que se mostró antes, que era Objetivo ÷ Contenido =<br />
Resultado, ahora se aplica a los tamaños de las etiquetas. Para este caso, cuando se quiera<br />
modificar el tamaño del contenedor de los cuadros de información (320px), tomamos el<br />
tamaño del Objetivo, que ahora es de 980px y lo dividimos por el contenido en cuestión:<br />
320 ÷ 980 = 0,32653061 * 100 = 32,653061<br />
Después se le agregó un último paso que es multiplicar por cien. A pesar que la<br />
calculadora lo toma como un número, nosotros tenemos que tener en cuenta que<br />
estamos multiplicando por 100%, para así tener un porcentaje real y que se pueda<br />
aplicar a la hoja de estilo CSS. Abajo va el ejemplo:<br />
17 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
#que-es, #descarga, #no-ipad{<br />
}<br />
width:32.653061%; /* 320px / 980px * 100% */<br />
Recuerda que también puedes aplicar a todas las propiedades de CSS que apliques que<br />
tengan medidas en px, como por ejemplo margin, padding, height, y más.<br />
Paso 5<br />
Voilà!: Nuestra página web al fin tiene su grilla fluida. Abajo pueden ver cómo una grilla<br />
flexible, con medidas dinámicas hechas a través de porcentajes en vez de px se adapta<br />
casi por arte de magia al dispositivo en que se encuentre (FIG.8). Eso sí, no sólo de grillas<br />
viven las páginas web responsive, también hay otros dos características necesarias para<br />
esto: que son las imágenes flexibles y los media queries.<br />
FIG.7 En distintos tamaños de pantalla, la grilla flexible empieza a trabajar.<br />
18 RESPONSIVE WEB DESIGN — Capítulo 2: La grilla felxible
CAPÍTULO 3<br />
Imágenes flexibles<br />
HASTA AHORA EL PRIMER ingrediente para hacer nuestro sitio web responsive, la grilla flexible, está<br />
listo. Es momento de mirar hacia el segundo ingrediente, que son las imágenes flexibles. Como pasó<br />
con la grilla, las imágenes tienen medidas fijas, si se les deja con esas medidas van a haber problemas<br />
cuando la página se tenga que reacomodar a un navegador pequeño, como el de los smartphones, porque<br />
el navegador entiende que la grilla está en porcentajes y que la tiene que acomodar a su tamaño, pero las<br />
imágenes tienen un ancho fijo. Entonces, ¿qué pasará si usamos un ancho dinámico en la grilla flexible?,<br />
ese es el propósito de este capítulo.<br />
Desde el principio que se ha mencionado como ejemplo la página en donde pudiste bajar este manual (y<br />
seguiré dando el link, para que no te olvides: http://rwd.webuda.com/). Después de las secciones del<br />
menú y de descarga, se pusieron seis imágenes con ejemplos de páginas que también han “abrazado”<br />
al responsive web design y lo han hecho una parte de ellos. A continuación verás cómo estas imágenes<br />
dejaron de tener un ancho fijo aburrido y pasaron a una divertida medida dinámica.<br />
IMÁGENES FLUIDAS<br />
Cuando se tiene que incrustar una imagen en una página web, lo primero que uno piensa instintivamente<br />
es en la etiqueta . A pesar de que ya estamos en HTML5 y ya pasó toda la vorágine de cambios en<br />
la estructura y semántica de maquetación web, las imágenes se siguen agregando a las páginas de esa<br />
manera. También lo que se puede hacer es tener una etiqueta vacía y después insertar la imagen a<br />
través de CSS con background-image, pero usaremos la primera opción para este ejemplo.<br />
El primer ejemplo es de la página web de Sony®. Creo que es uno de las mejores páginas web resonsive<br />
que hay allá afuera, por eso está primera en la lista de ejemplos. Ahora, en nuestra página web el código<br />
en donde irá la imagen es así:<br />
19 RESPONSIVE WEB DESIGN — Capítulo 3: Imágenes flexibles
<br />
<br />
<br />
<br />
Sony<br />
<br />
<br />
<br />
<br />
Ésta es la imagen que queremos mostrar (FIG.8) y de esta forma se verá con el código (FIG.9)<br />
FIG.8 Si bien no hay nada malo con la imagen, su tamaño puede causar problemas (1249 × 697)<br />
20 RESPONSIVE WEB DESIGN — Capítulo 3: Imágenes flexibles
FIG.9 Y dio problema. A pesar de que se ve bien dentro del contenedor, la idea de los ejemplos es mostrar<br />
tres por línea.<br />
Ahora, el elemento img se va a renderizar a cualquier tamaño que se le ocurra, siempre que sea más<br />
angosto que el elemento en que se contenga. Pero qué tal si la imagen es más grande que su contenedor,<br />
entonces el max-width: 100% fuerza a que el ancho de las imágenes coincidan con el tamaño del<br />
contenedor en el que están. (FIG.10)<br />
img{<br />
}<br />
max-width:100%;<br />
21 RESPONSIVE WEB DESIGN — Capítulo 3: Imágenes flexibles
FIG.10 La imagen se ajustó al tamaño que ya tenía el contenedor y que fue calculado con la fórmula que se usó<br />
en el capítulo 2 para la grilla flexible.<br />
Más aún, los navegadores han evolucionado de tal manera que redimensionan las imágenes<br />
proporcionalmente. Como nuestra página web se redimensiona por sí sola, al encoger o alargar la<br />
imagen, su proporción se mantendrá intacta. Además, max-width: 100% también se puede aplicar a<br />
casi todos los elementos con un ancho fijo (fixed-width), como video u otros medios. De hecho, podemos<br />
fortalecer el selector para cubrir otros elementos multimedia, así:<br />
img, embed, object, video{<br />
}<br />
max-width:100%;<br />
Sea un video de flash, u otro medio adjunto, o un humilde img, los navegadores hacen un muy buen<br />
trabajo al redimensionarlos proporcionalmente en una grilla flexible, todo gracias a nuestro querido<br />
elemento max-width.<br />
22 RESPONSIVE WEB DESIGN — Capítulo 3: Imágenes flexibles
EL PLACER DE ESTAR “OCULTO”<br />
Como había mencionado antes, hay varios métodos para hacer que las imágenes de tu página web sean<br />
flexibles, uno de ellos es utilizar la propiedad overflow. En la mayoría de los casos, la regla max-width:<br />
100% es la mejor alternativa para redimensionar las imágenes, pero de forma alternativa puedes eliminar<br />
el exceso de datos dentro del contenedor con overflow: hidden. Entonces, es vez de que la imagen se<br />
redimensione automáticamente se puede eliminar toda la información sobrante.<br />
#view{<br />
}<br />
#view img{<br />
}<br />
overflow: hidden;<br />
display: block;<br />
overflow: hidden;<br />
Como pueden ver, esta no es una solución totalmente fiable. De hecho, se ha encontrado que en la<br />
mayoría de los casos overflow es generalmente menos útil que escalar la imagen vía max-width. Pero<br />
aún así, es una opción que se tiene que considerar y encontrarle un uso para alguna ocasión en especial.<br />
Hasta ahora hemos explorado todo lo que se necesita para desarrollar sitios web flexibles, acordes a los<br />
dispositivos actuales, mejor dicho, sitios responsive. Con las herramientas y características que se han<br />
mostrado antes ya están preparados para poder hacer sitios con grillas flexibles y con imágenes auto<br />
redimensionadles, sólo es cosa de que ponerse a estudiar, aplicar y trabajar en lo que he mostrado y las<br />
cosas que han quedado afuera.<br />
Con nuestro cimiento flexible en lugar, es hora de poner el último ingrediente a nuestro diseño responsive.<br />
23 RESPONSIVE WEB DESIGN — Capítulo 3: Imágenes flexibles
CAPÍTULO 4<br />
Media queries<br />
CON LAS HERRAMIENTAS QUE se han dado durante el paso del manual están “casi” listos para hacer sitios<br />
web flexibles. Por qué “casi”, porque inclusive en este punto la página web no es a prueba de balas.<br />
Van a haber partes en donde nuestro diseño se rompa cuando se redimensione, o sea, hay algo que está<br />
saliendo mal o el navegador no entiende bien lo que quisimos decir al principio en nuestro código.<br />
Desde que empezamos a trabajar con nuestro sitio flexible, podemos probarlos redimensionando el<br />
tamaño de nuestro navegador a distintos anchos. Ahora, esto no es un substituto para no probar nuestro<br />
sitio en los distintos dispositivos en el cual vamos a trabajar, pero nos permite un acceso rápido a nuestro<br />
sitio es varios tamaños disponibles, y simular cómo se verá en smartphones, tablets, y otros dispositivos<br />
que tengamos que usar.<br />
En este momento es donde tenemos que usar el tercer y último ingrediente esencial para nuestra página<br />
web flexible, que son los media queries.<br />
¿MEDIA QUÉ?<br />
Media Queries (http://bkaprt.com/rwd/27/) es una característica única de CSS3, que se hizo<br />
gracias a los media types que venían en las versiones anteriores de este lenguaje de programación.<br />
Es un mecanismo robusto que, no sólo identifica tipos de media, sino que también inspecciona las<br />
especificaciones físicas de los dispositivos y navegadores que renderizan el contenido.<br />
Aquí va un ejemplo:<br />
24 RESPONSIVE WEB DESIGN — Capítulo 4: Media Queries
@media screen and (min-width: 1024px) { body {<br />
}<br />
}<br />
font-size: 100%;<br />
Cada media query — incluyendo el que se mostró arriba — consta de dos partes:<br />
1. Cara query empieza con un media type (screen), viniendo de las especificaciones de CSS2.1<br />
aprobadas para los media types. (http://bkaprt.com/rwd/26/).<br />
2. Inmediatamente después viene el query en sí, envuelto en paréntesis. (min-width: 1024px).<br />
Ahora, nuestro query se puede dividir en dos componentes: el nombre de la característica (min-width)<br />
y su valor correspondiente (1024px).<br />
Piensa cómo un navegador analiza un media query. Cuando el navegador lea tu hoja de estilos, el screen<br />
and (min-width: 1024px) hace dos preguntas: la primera es que si pertenece al media type screen<br />
y la segunda si el espacio del navegador es, de al menos 1024 pixeles de ancho. Si el navegador coincide<br />
con los dos criterios, entonces el código que se encuentra dentro del query se ejecutará, y si no es así, el<br />
navegador felizmente evitará ese estilo y seguirá con su vida.<br />
El media query de arriba es parte de una declaración @media, lo que permite poner queries directamente<br />
en nuestra hoja de estilos CSS. Aunque también se pueden poner queries en un elemento link<br />
insertándolo en el atributo media:<br />
<br />
IDENTIFICANDO LOS PUNTOS DE RESOLUCIÓN<br />
Los puntos de resolución son los quiebres que tienes que hacer para saber en dónde aplicar los media<br />
queries que necesitas para tu página web. Eso no quiere decir que las resoluciones que no aparezcan<br />
acá se tienen que ignorar, o que algunos dispositivos no se acomodarán a alguna resolución que no<br />
esté en lista, dado que el diseño responsive está basado en una grilla flexible, entonces hay un grado<br />
de independencia en su construcción. Pero al mostrar los queries como se hará a continuación ayuda<br />
a definir un alcance a nuestros esfuerzos, permitiendo idenfiticar los dispositivos más usados por los<br />
clientes y cómo funcionar de la mejor manera a través de las resoluciones.<br />
25 RESPONSIVE WEB DESIGN — Capítulo 4: Media Queries
320 px<br />
Para dispositivos con pantallas pequeñas, como los<br />
smartphone, en tamaño vertical.<br />
480 px<br />
Para dispositivos con pantallas pequeñas, como los<br />
smartphone, en tamaño horizontal.<br />
26 RESPONSIVE WEB DESIGN — Capítulo 4: Media Queries
600 px<br />
Tablets pequeños, como el Amazon Kindle, en<br />
tamaño vertical.<br />
768 px<br />
Tablets de 10 pulgadas, como el iPad (1024 x 768),<br />
en tamaño vertical.<br />
27 RESPONSIVE WEB DESIGN — Capítulo 4: Media Queries
1024 px<br />
Tablets como el iPad (768 x 1024), en tamaño<br />
vertical, también como algunos laptops, netbooks y<br />
computadores de escritorio.<br />
28 RESPONSIVE WEB DESIGN — Capítulo 4: Media Queries
1200 px<br />
Pantallas anchas (widescreen), de laptop y<br />
computadores de escritorio.<br />
29 RESPONSIVE WEB DESIGN — Capítulo 4: Media Queries
CAPÍTULO 5<br />
Más sobre responsive<br />
AL FIN TIENES TODAS las herramientas necesarias para diseñar páginas web responsive. Has logrado<br />
manejar la idea detrás de la grilla flexible, investigado algunas estrategias para incorporar elementos de<br />
multimedia dinámicos a tu diseño, y explorado como los media queries pueden llevar a nuestros diseños<br />
más allá del escritorio.<br />
En este capítulo analizaremos algunos conceptos e ideas que mejoran el diseño responsive. Veremos<br />
formas diferentes de agregarlas a nuestro trabajo, y como mejorar algunas técnicas que hemos aprendido<br />
durante el transcurso de este manual.<br />
PRIMERO EL MÓVIL<br />
Hacia finales del 2009, el diseñador Luke Wroblewski lanzó un pequeño desafío a la industria, sugiriendo<br />
que la experiencia móvil de un diseño web no tiene que ser una idea tardía (http:// bkaprt.com/<br />
rwd/47/). Citando el crecimiento explosivo del tráfico web móvil, Wroblewski sugirió que que los<br />
profesionales web de hoy deben diseñar para el móvil primero.<br />
“Mobile first” (o “móvil primero”) esa una filosofía de diseño, de hecho, es una de las filosofías invaluables<br />
para el diseño web responsive. Mientras más navegadores y dispositivos nuestros clientes usen para<br />
acceder a nuestros diseños, más interés se tiene en diseñar fuera del escritorio. Es una oportunidad<br />
perfecta para repensar en cómo se ha diseñado la web: nuestro proceso, como también las preguntas que<br />
usamos y cuáles serían las soluciones que podemos aplicar.<br />
30 RESPONSIVE WEB DESIGN — Capítulo 5: Más sobre responsive
REPASA LA “MEJORA PROGRESIVA”<br />
La mejora progresiva (o “progressive enhacement”) es otra estrategia de diseño web que acentúa la<br />
accesibilidad, margen de la semántica, y tecnologías externas de manera que permite que cada uno<br />
tenga acceso a la funcionabilidad básica de una página web, a través de cualquier navegador.<br />
Durante el 2003, Nick Finck y Steve Champeon acuñaron el término “progressive enhacement”, desde<br />
entonces ha sido la marca para un alcance responsable para un diseño web estándar. Empezando con<br />
una semántica fuerte, marcas bien definidas, estilos hechos con CSS, y scripts de DOM a través de<br />
JavaScript cuando se necesite, se pueden crean experiencias completas a través de diseño web, mientras<br />
se asegura un acceso universal del contenido a través del diseño.<br />
Steven Hay también reiteró la necesidad de mejora progresiva, a través de su ensayo (en inglés) “No hay<br />
web móvil” (http://bkaprt.com/rwd/54 /):<br />
“la mayoría de los sitios en la web no están hechos con usos específicos para web. En cambio, millones de<br />
personas acceden a estos sitios cada día a través de dispositivos móviles. Ellos a sitios webs “normales” (lo<br />
que sea que eso quiera decir) a través de sus dispositivos “móviles”.<br />
…<br />
para ser honesto, puedo pensar en un par, pero no tantos usas de sitios webs o aplicaciones los cuales son<br />
o deberían ser exclusivos para móviles. Pareciese que la web móvil nos permite revivir toda la charla de<br />
inclusión, mejora progresiva y accesibilidad de hace años.”<br />
En vez de simplemente depositar nuestro contenido en diferentes sitios, podemos usar la mejora<br />
progresiva para aquellos dispositivos que sea capaces de soportarla.<br />
SÉ RESPONSABLE CON EL RESPONSIVE<br />
Se mencionaron estas mejoras no porque sean necesariamente las mejores. En este tiempo de 3G hotspots<br />
portables y teléfonos habilitados con wifi, puede ser peligroso igualar automáticamente la dimensión de<br />
una pantalla con el ancho de banda disponible para ello. Pero si necesitas algo de resolución extra en tu<br />
trabajo, estas herramientas están disponibles.<br />
Aún así, que es beneficioso en mantener la filosofía de “móvil primero” en mente cuando te encuentras<br />
en una situación en donde se amerita. Porque más que nada, el diseño web es sobre hacer la respuesta<br />
correcta. Y realmente, de eso se trata el diseño responsive: una posible solución, una forma más para<br />
diseñar la web de forma flexible. En el primer capítulo, dije que los ingredientes para el diseño responsive<br />
son una grilla flexible, imágenes flexibles y media queries. Pero realmente, ellos son el vocabulario que<br />
usaremos para articular respuestas a los problemas que nuestros clientes se enfrentan, una forma para<br />
ordenar el contenido a un sinfín de dispositivos y navegadores.<br />
Si estamos dispuestos a investigar en las necesidades de nuestros clientes, y aplicar estos ingredientes<br />
cuidadosamente, entonces el diseño web responsive es un alcance poderoso.<br />
31 RESPONSIVE WEB DESIGN — Capítulo 5: Más sobre responsive
Este sitio web y manual fueron creados para el proyecto para optar al título de<br />
Diseñador Gráfico Publicitario: Diseño editorial digital de «responsive web design»<br />
(diseño web sensible)<br />
INSTITUCIÓN ENCARGADA DEL PROYECTO<br />
ALUMNO TESISTA<br />
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.