HTML Tour - Responsive Web Design

26
Responsive Web Design

description

En esta charla veremos cómo conseguir que nuestra página web se vea correctamente tanto en nuestros móviles, como en nuestra pantalla de pc, sin tener que crear una versión diferente para cada uno de los dispositivos. Veremos además, las diferentes técnicas que podemos aplicar para conseguir el resultado deseado, centrándonos sobre todo en Progressive Enhacement.

Transcript of HTML Tour - Responsive Web Design

Page 1: HTML Tour - Responsive Web Design

Responsive Web Design

Page 2: HTML Tour - Responsive Web Design

¿Quién soy?

www.plainconcepts.com

UX Developer at Plain [email protected]#htmltour

Proyectos destacados:

Jesús David García Gómez

Page 3: HTML Tour - Responsive Web Design

Preguntas/dudas/sugerencias

#htmltour

Page 4: HTML Tour - Responsive Web Design

Dispositivos

Page 5: HTML Tour - Responsive Web Design

Índice

• Grid Flexible• Imágenes flexibles• Media queries• Progressive Enhacement vs Graceful degradation• Progressive Enhacement

Page 6: HTML Tour - Responsive Web Design

Grid Flexible

• Web fluida.

• Cuando la web se redimensione, toda la web se irá amoldando al ancho disponible.

• Utilizar porcentajes y em’s.

• No utilizar medidas fijas.

Page 7: HTML Tour - Responsive Web Design

¿Cómo se hace?

• Fijamos unas medidas base (fijas)

• Aplicamos la siguiente función:• Objetivo / contenedor = resultado.

Page 8: HTML Tour - Responsive Web Design

Consideraciones

• Si es para un margen, el contenedor es el que contiene al elemento al que le queremos aplicar el margen.

• Si es para un padding, el contenedor es el propio elemento al que le queremos aplicar el padding.

Page 9: HTML Tour - Responsive Web Design

Imágenes Flexibles

• Imágenes fluidas.

• Utilizamos max-width al 100%.img {

max-width: 100%}

• Envolveremos la imagen con una capa para dar el tamaño deseado.

Page 10: HTML Tour - Responsive Web Design

Imágenes Flexibles

• Y si max-width no se soporta?

width: 100%.

• Problema: la imagen puede pixelarse.

• Si la imagen es grande, no da problemas.

Page 11: HTML Tour - Responsive Web Design

Background

• Imagen de x pixeles, replicada en x/y

• Background-size

background-size: auto; /*se verá en tamaño original*/background-size: 180px 90px; /*se verá al tamñao especificado*/background-size: contain; /*se ajusta al tamaño de la ventana manteniendo el aspect ratio*/background-size: cover; /*cubre todo el background*/

Page 12: HTML Tour - Responsive Web Design

Media Queries

• Adaptar nuestra web según el entorno.

• Se utiliza la propiedad media si estamos en el elemento link.

<link rel="stylesheet" href="main.css" media="screen" /> <link rel="stylesheet" href="paper.css" media="print" />

Page 13: HTML Tour - Responsive Web Design

@media

• Nos permite definir el media type y características físicas del dispositivo

@media screen and (min-width: 1024px) { body { font-size: 100%; }}

Page 14: HTML Tour - Responsive Web Design

Media types

• Screen: Monitor a color.• Projection: proyectores.• Braille: dispositivos táctiles braille.• Tv: televisores.• Etc.

http://www.w3.org/TR/CSS21/media.html#media-types

Page 15: HTML Tour - Responsive Web Design

Queries

Page 16: HTML Tour - Responsive Web Design

Progressive Enhacemen vs Graceful degradation

Page 17: HTML Tour - Responsive Web Design

Graceful degradation

• Mejor experiencia de usuario posible.

• Orientado al navegador.

• Énfasis en la tolerancia a fallos.

Page 18: HTML Tour - Responsive Web Design

Progressive Enhancement

• Orientado al contenido.

• Hacer versión con funcionalidad básica.

• Mejorar a partir de dicha funcionalidad.

Page 19: HTML Tour - Responsive Web Design

Separación en capas

Page 20: HTML Tour - Responsive Web Design

¿Cómo se hace?

• Markup: HTML bien formado, para la interoperabilidad.

• Styling: Mejora progresiva del look-and-feel del diseño, para navegadores con mejores características (ej. Navegadores webkit, IE9/10, etc.)

• Behaviors: Mejoramos el sitio añadiendo características interactivas usando javascript.

Page 21: HTML Tour - Responsive Web Design

Beneficios

• Accesibilidad: Contenido alcanzable para todos los usuarios.

• Portabilidad: Soporte cross-browser y cross-device.

• Modularidad: Componentes desacoplados.

• Rendimiento: Mejoras en términos de tiempo de carga.

Page 22: HTML Tour - Responsive Web Design

Guidelines

• Separar HTML, CSS y Javascript en ficheros diferentes.

• Evitar código específico de un navegador y usar detección de características, no detección de navegador.

• Hacer pruebas con javascript desactivado, para comprobar que no podemos hacer y presentar una alternativa.

Page 23: HTML Tour - Responsive Web Design

No todo es de color de rosa

• Utilizar progressive enhancement requiere más trabajo.

• Requiere revisar la semántica y la flexibilidad del markup.

• Escribir css extra para aprovechar las características de CSS3 y html5, cuando es soportado.

Page 24: HTML Tour - Responsive Web Design

Progressive Enhacement 2.0

OMG CSS OMG JS

Nice CSS Nice JS

Base CSS Base JS

HTML

Page 25: HTML Tour - Responsive Web Design

En Resumen

• Filosofía de desarrollo web.

• Nos permite crear webs con accesibilidad universal.

• Requiere aprendizaje, disciplina y experiencia.

• Recompensa de la inversión es alta.

Page 26: HTML Tour - Responsive Web Design

Preguntas/dudas/sugerencias

#htmltour