Este documento trata sobre el diseño web responsivo (RWD) en Drupal. Explica los conceptos clave de RWD como rejillas fluidas, imágenes flexibles y media queries. También discute el enfoque de "mobile first" y la importancia de diseñar primero para dispositivos móviles. Finalmente, cubre temas como temas responsivos, imágenes responsivas y menús en Drupal, así como desafíos como la caché en versiones móviles.
4. ¿QUÉ ES RESPONSIVE WEB DESIGN
(RWD)?
Ethan Marcotte
(A List Apart, 2010)
1. REJILLAS (GRID) FLUIDOS O LÍQUIDOS
2. IMÁGENES FLEXIBLES
3. MEDIA QUERIES
15. MOBILE FIRST
¿Por qué?
● Priorizamos contenido y funcionalidad
● Más fácil reorganizar
1 columna a varias,
que al revés
16. MOBILE FIRST
¿Por qué?
● Priorizamos contenido y funcionalidad
● Más fácil reorganizar 1 columna a varias, que al revés
● Foco en peformance desde el inicio
23. Responsive themes: ZEN
●
●
●
●
Usa Zen GRIDS http://zengrids.
com/
Media queries == mobile first
respond.js per >IE8
Layout con solución de menú RWD
24. Responsive themes: ZEN
_responsive.scss:
Valores comunes:
Ancho del separador
$zen-gutter-width:
20px;
Definición de elemento contenedor de la GRID
@include zen-grid-container();
@include zen-grid-item-base();
Reset de GRID
@include zen-clear();
25. Responsive themes: ZEN
_responsive.scss:
Valor de las columnas x cada mediaquery
@media all and (min-width: 480px) {
$zen-column-count: 1;
Definición de GRIDs x cada mediaquery
@media all and (min-width: 480px) and (maxwidth: 959px) {
@include zen-grid-item(2, 2);
27. Responsive themes
●
●
●
●
●
960 grid
Concepto Delta como creador de
diseños reaprovechables.
Posibilita mucha configuración
desde interfaz de usuario.
Muchas posibilidades.
No incluye soporte base Sass
●
●
●
●
●
●
●
Fluid Layout
Breakpoint
Susy GRIDS
Selectivizr.js
SMACSS
CSS3 Media Queries JS, Respond.js
CSS3 PIE, HTML5 shiv
LiveReload built-in support
28. Responsive images
<picture width="500" height="500">
<source media="(min-width: 45em)" src="/large.jpg">
<source media="(min-width: 18em)" src="/med.jpg">
<source src="/small.jpg">
<img src="/small.jpg" alt="">
<p>Accessible text</p>
</picture>
Responsive Images Community Group ha propuesto este nuevo elemento como
solución.
Elemento nuevo con un comportamiento que es, por ahora, controlado por
JavaScript.
29. Responsive images
Cambio mediante CSS.
No hay diferencia entre
proporciones.
Cambio tamaño en servidor.
Devuelve imagen recortada y
escalada.
36. COMPLEJIDAD
Menus
Solución ZEN (o similar)
Posicionar el menú (items) después del contenido y
recolocarlo con posición absoluta según la media-query.
En versión móvil un enlace simple al anchor «menu»
llevará a los enlaces.
Para ocultar/mostrar contenido mejor CSS que
Javascript.
Las conexiones lentas nos delatan!
39. Menus
COMPLEJIDAD
Opciones 100% CSS
+ Funcionamiento sin JavaScript
- Tenemos que adaptarlo al marcado
de Drupal
Simple con Submenú
http://bit.ly/Qqiw02
40. Menus
COMPLEJIDAD
Opciones 100% CSS
+ Funcionamiento sin JavaScript
- Tenemos que adaptarlo al marcado
de Drupal
Simple toggle
http://bit.ly/1c2FH9Q
41. Menus
COMPLEJIDAD
Opciones 100% CSS
+ Funcionamiento sin JavaScript
- Tenemos que adaptarlo al marcado de Drupal
Simple navigation menu
http://bit.ly/VZyAIV
42. Otros temas: Tablas RWD
Fijación de cabecera
http://bit.ly/LPHp5n
Adaptación de la información
http://bit.ly/dHpDua
F
ooTable
http://dgo.to/footable
43. Otros temas: Problemas conocidos
Mobile Theme
Problemas con la Caché al hacer un theme solamente para móvil
http://dgo.to/1591208
Context Mobile detect
Problemas con la caché al usar el contexto para los dispositivos
móviles:
http://dgo.to/1768556
Soluciones (malas):
Usar Varnish para detectar el dispositivo (complejo)
No cachear la versión móvil (bajo rendimiento)