Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desarrolla aplicaciones web flexibles con Flexbox

Desarrolla aplicaciones web flexibles con Flexbox

Descubre la nueva especificación CSS con la que posicionar los elementos de tu web de forma rápida y sencilla.

Imanol Terán

February 22, 2016
Tweet

More Decks by Imanol Terán

Other Decks in Programming

Transcript

  1. widdiapps.com @widdiapps [email protected] ๏ Web ๏ iOS ๏ E-Commerce ๏

    Publicaciones Digitales ๏ Formación ¿QUIÉN SOY?
  2. PROGRAMA ๏ Introducción ๏ Tablas / Modelo de cajas /

    Rejillas / Flexbox ๏ Propiedades y compatibilidad con navegadores ๏ Ejemplos y casos de uso ๏ Referencias y documentación ๏ Frameworks que utilizan Flexbox ๏ Ejercicios Prácticos
  3. Table ๏ Surgió en 1995 con la especificación HTML 3.0

    ๏ Se “hizo fuerte” con la versión HTML 3.2 ๏ El “tag” <table> creado para crear layouts, además de mostrar datos en tablas
  4. Table - Características ๏ <table border=0> ๏ <body bottomMargin=0 leftMargin=0>

    ๏ <td valign=top> ๏ <table cellspacing=10 cellpadding=10> ๏ <td colspan=3 rowspan=1>
  5. Table - Problemas ๏ Estilo, contenido y marcado juntos ๏

    Accesibilidad ๏ Código poco legible
  6. Box Model ๏ Surgió en 1996 con CSS 1 y

    HTML 3.2 ๏ Empezamos a hablar del concepto CSS: separar estilo y marcado ๏ Aparecen elementos de bloque: <div>, <h1>, <p>…
  7. Box Model - Evolución I ๏ width, height ๏ display,

    float ๏ margin, padding y border
  8. Box Model - Evolución II ๏ position ๏ top, bottom,

    left, right ๏ max-width, min-width, max-height, min-height
  9. Box Model - Fin de las tablas ๏ <table> :

    para mostrar datos en tablas ๏ box model : layouts con CSS
  10. Box Model - Problemas ๏ Alinear objetos en vertical ๏

    Posicionar unas cajas junto a otras (float, inline o inline-block) ๏ Clearfix, clear:both ๏ Altura automática de las cajas ๏ …y unos cuantos más
  11. Grid Systems ๏ Comienzan en 2007 con Blueprint ๏ Nacen

    para solucionar problemas de layout y crear sistema de columnas estándar ๏ 12, 16 o 24 columnas ๏ Abstracción del modelo de cajas ๏ Éxito en 2009, con 960.gs
  12. Después de GRID 1 2 3 <div class=“container clearfix”> <div

    class=“span-8”>1</div> <div class=“span-8”>2</div> <div class=“span-8 last”>3</div> </div>
  13. Tipos de Grid ๏ Columna ๏ Fluída / Fija ๏

    Semántica / No-semántica ๏ Responsive ๏ … y más
  14. Flexbox ๏ 19 años sin especificación CSS concreta para trabajar

    con layout ๏ W3C empieza con ello en 2009 ๏ Ha habido varias sintaxis durante el proceso
  15. Flexbox - Estado actual ๏ Soporte a navegadores está mejorando

    ๏ Muchos frameworks lo están incluyendo
  16. Flexbox Consiste, principalmente, en proporcionar al contenedor la habilidad para

    cambiar la anchura y altura de los elementos que contiene, con el fin de rellenar de la forma más eficiente posible el espacio en blanco y prevenir los desbordes
  17. ¿Qué podemos controlar con Flexbox? ๏ Orientación de los elementos

    ๏ Espacio entre elementos ๏ Orden entre elementos
  18. Propiedades Flexbox ๏ display ๏ flex-direction ๏ flex-wrap ๏ flex-flow

    ๏ justify-content ๏ align-items ๏ align-content ๏ order ๏ flex-grow ๏ flex-shrink ๏ flex-basis ๏ align-self Contenedor Items
  19. Available space = (container size - flex-basis siblings total) Grow

    unit = (Available space / Sum Grow siblings total) Flex item size = (Flex basis + (Grow Unit * num)) Calcular espacio disponible http://chriswrightdesign.com/experiments/flexbox-adventures/
  20. ๏ stretch (default) ๏ flex-start ๏ flex-end ๏ center ๏

    space-between ๏ space-around align-content
  21. flex .item { flex: 0 1 auto; /* default */

    } flex-grow + flex-shrink + flex-basis
  22. Layouts de ejemplo ๏ Ejemplo 1: http://codepen.io/_Billy_Brown/full/ACamb/ ๏ Ejemplo 2:

    http://codepen.io/dudleystorey/full/umrnE/ ๏ Ejemplo 3: http://codepen.io/HugoGiraudel/pen/qIAwr ๏ Ejemplo 4: http://codepen.io/HugoGiraudel/pen/pkwqH ๏ Ejemplo 5: http://callmenick.com/_development/flexbox-examples/index.html