Responsive Web Design

Adolfo Sanz De Diego

Septiembre 2016

1 El autor

1.1 Adolfo Sanz De Diego

1.2 Algunos proyectos

1.3 ¿Donde encontrarme?

2 Introducción

2.1 Esto no es la web

Esto no es la web. Fuente: bradfostweb.com
Esto no es la web. Fuente: bradfostweb.com

2.2 Esto es la web

Esto es la web. Fuente: bradfostweb.com
Esto es la web. Fuente: bradfostweb.com

2.3 ¿Será esto la web?

¿Será esto la web?. Fuente: bradfostweb.com
¿Será esto la web?. Fuente: bradfostweb.com

2.4 Estadísticas

Estadísticas. Fuente: gs.statcounter.com
Estadísticas. Fuente: gs.statcounter.com

2.5 El desarrollador

El desarrollador atual. Fuente: globalmoxie.com
El desarrollador atual. Fuente: globalmoxie.com

2.6 Responsive Web Design

Responsive Web Design. Fuente: flickr.com/photos/zergev/
Responsive Web Design. Fuente: flickr.com/photos/zergev/

2.7 Content is like water

Content is like water. Fuente: fr.wikipedia.org/wiki/Site_web_adaptatif
Content is like water. Fuente: fr.wikipedia.org/wiki/Site_web_adaptatif

2.8 Graceful degradation

Graceful degradation. Fuente: bradfostweb.com
Graceful degradation. Fuente: bradfostweb.com

2.9 Progessive enhancement

Progressive enhancement. Fuente: bradfostweb.com
Progressive enhancement. Fuente: bradfostweb.com

2.10 Beneficios (I)

2.11 Beneficios (II)

3 Ejemplos

3.1 Matt Kersley

Página de testeo de Matt Kersley
Página de testeo de Matt Kersley

3.2 dConstruct 2011

Ejemplo RWD: dConstruct 2011. Fuente:ecbloguer.com
Ejemplo RWD: dConstruct 2011. Fuente:ecbloguer.com

3.3 Boston Globe

Ejemplo RWD: Boston Globe. Fuente:ecbloguer.com
Ejemplo RWD: Boston Globe. Fuente:ecbloguer.com

3.4 Food Sense

Ejemplo RWD: Food Sense. Fuente:ecbloguer.com
Ejemplo RWD: Food Sense. Fuente:ecbloguer.com

3.5 Deren Keskin

Ejemplo RWD: Deren Keskin. Fuente:ecbloguer.com
Ejemplo RWD: Deren Keskin. Fuente:ecbloguer.com

4 Diseño fluido

4.1 De PX a EM

4.2 On Line

px to em
px to em

4.3 Ejemplo

body {
  font: 13px;
}

h1 {
  font-size: 1.3846 em;
  /* 18px/13px = 1.3846em */
}

4.4 EM se hereda

4.5 De PX a %

Cálculo porcentajes. Fuente:aloud.es
Cálculo porcentajes. Fuente:aloud.es

5 Sistema de rejilla

5.1 Ejemplo

5.2 Uso de clases

5.3 Ejemplo Bootstrap

<div class="row">
  <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">1</div>
  <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">2</div>
  <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">3</div>
  <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">4</div>
</div>

5.4 Semántico

5.5 Ejemplo semantic.gs (HTML)

<header>...</header>
<article>...</article>
<aside>...</aside>

5.6 Ejemplo semantic.gs (CSS)

@column-width: 60;
@gutter-width: 20;
@columns: 12;

header { .column(12); }
article { .column(9); }
aside { .column(3); }

@media (max-device-width: 960px) {
  article { .column(12); }
  aside { .column(12); }
}

6 Imágenes fluidas

6.1 Tamaño máximo

img {
  max-width:400px;
}

6.2 Ancho del contenedor (I)

img {
  width:100%;
}

6.3 Ancho del contenedor (II)

img {
  max-width:100%;
}

6.4 Ancho del contenedor (III)

img {
  width:100%;
  max-width:400px;
}

6.5 Backgrounds

.background-fluid {
  width: 100%;
  background-image:
    url(img/water.jpg);
  background-size: cover;
}

7 Viewport

7.1 Orígenes

7.2 ¿Qué nos permite?

7.3 Tamaño

7.4 Escala

7.5 Accesibilidad

7.6 Ejemplo

<meta name="viewport"
  content="width=device-width,
    initial-scale=1,
    user-scalable=yes">

8 Media Queries

8.1 ¿Qué son?

Un Media Query no sólo nos permite seleccionar el tipo de medio (all, braille, print, proyection, screen, tty, tv, etc.), sino además consultar otras características sobre el dispositivo que esta mostrando la página.

8.2 Ejemplo

8.3 Distintos CSS

<link rel="stylesheet"
  type="text/css"
  media="all and (min-width: 480px)"
  href="tablet.css" />

<!-- tablet.css es un CSS con reglas para cuando el área de visualización sea mayor que 480px -->

8.4 Mismo CSS

@media all and (min-width: 480px) {

  /* aquí poner las reglas CSS
  para cuando el área de visualización
  sea mayor que 480px*/
}

8.5 Importar CSS

@import url("tablet.css")
  all and (min-width: 480px);

  /* tablet.css es un CSS con reglas
  para cuando el área de visualización
  sea mayor que 480px */
}

8.6 Operador and

8.7 Ejemplo and

@media tv
  and (min-width: 700px)
  and (orientation: landscape) {

  /* reglas que queremos que
  se apliquen para televisiones
  con áreas de visualización
  mayores de 700px siempre que
  la pantalla esté en
  modo landscape */
}

8.8 Operador 'or'

8.9 Ejemplo 'or'

@media tv,
  (min-width: 700px),
  (orientation: landscape) {

  /* reglas que queremos que
  se apliquen para televisiones,
  o para dispositivos con áreas
  de visualización mayores
  de 700px, o cuando la pantalla
  está en modo landscape */
}

8.10 Operador not

8.11 Ejemplo not (I)

@media not tv and max-width(800px),
  not screen and max-width(400px) {

  /* reglas que queremos que
  se apliquen para dispositivos
  que no sean ni televisiones
  con áreas de visualización
  menores de 800px, ni pantallas
  con áreas de visualización
  menores de 400px */
}

8.12 Ejemplo not (II)

@media not (tv and max-width(800px)),
  not (screen and max-width(400px)) {

  ...
}

8.13 Características (I)

8.14 Características (II)

8.15 Características (III)

8.16 Min- y Max-

9 Metodologías

9.1 Desktop VS Mobile

Desktop first VS Mobile first. Fuente: brettjankord.com
Desktop first VS Mobile first. Fuente: brettjankord.com

9.2 Desktop First

9.3 DF: utiliza max-width

@media all and (max-width: 320px) {
   /* Estilos para anchos
   menores a 320px */
}
@media all and (max-width: 768px) {
  /* Estilos para anchos
  menores a 768px */
}

9.4 DF: problemas

9.5 Mobile first

9.6 MF: utiliza min-width

@media all and (min-width: 320px) {
  /* Estilos para anchos
  superiores a 320px */
}
@media all and (min-width: 768px) {
  /* Estilos para anchos
  superiores a 768px */
}

9.7 MF: ventajas

9.8 Puntos de rotura (I)

9.9 Puntos de rotura (II)

10 Acerca de

10.1 Licencia

10.2 Fuentes

10.3 Bibliografía (I)

10.4 Bibliografía (II)

10.5 Bibliografía (III)

10.6 Bibliografía (IV)

10.7 Bibliografía (V)

10.8 Bibliografía (VI)

10.9 Bibliografía (V)

/