¡css grid layout ya estÁ aquÍ! - igalia · ¡css grid layout ya estÁ aquÍ! manuel rego...

77
¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS ( ) @regocas HTML5Spain / 28 Junio 2016

Upload: others

Post on 13-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

¡CSS GRID LAYOUTYA ESTÁ AQUÍ!

MANUEL REGO CASASNOVAS ( )@regocas

HTML5Spain / 28 Junio 2016

Page 2: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

PRESENTACIÓNActualmente implementando CSS Grid Layout

(Chromium/Blink & Safari/WebKit)

Miembro de Igalia

GRIDS POR TODAS PARTES

Page 3: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

GRIDS POR TODAS PARTES

Page 4: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

1996

Page 5: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

HÅKON WIUM LIE (JUNIO, 1995)

Page 6: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

EVOLUCIÓN

Page 7: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

<TABLE>

Page 8: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

FLOAT

Page 9: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

DISPLAY: INLINE-BLOCK;

Page 10: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

DISPLAY: TABLE;

Page 11: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

CSS FRAMEWORKS

Page 12: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

DISPLAY: FLEX;

Page 13: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

DISPLAY: GRID;

Page 14: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

INRODUCCIÓN

Page 15: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

CONCEPTOSTítulo

ContenidoMenú

Pie

Page 16: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

LÍNEASTítulo

ContenidoMenú

Pie

1 2 31

2

34

Page 17: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TRACKS

Page 18: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TRACKSFILAS

Título

ContenidoMenú

Pie

Page 19: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TRACKSCOLUMNAS

Título

ContenidoMenú

Pie

Page 20: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

CELDASTítulo

ContenidoMenú

Pie

Page 21: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ÁREASTítulo

ContenidoMenú

Pie

Page 22: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

SYNTAXIS

Page 23: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

DISPLAY: GRID;Rompe el flujo habitual de la página web

Page 24: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TAMAÑO DE LOS TRACKS(FILAS/COLUMNAS)

grid-template-columns & grid-template-rows

¡Creación de cajas desde CSS!

Page 25: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TAMAÑO DE LOS TRACKSABCD

.grid display: grid; grid-template-columns: ; grid-template-rows: ;

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div> <div class="d">D</div></div>

Page 26: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMSgrid-column & grid-row

Orden del DOM ≠ Orden visual

Page 27: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMSABC

.grid display: grid; grid: 100px 100px / 200px 200px; .a

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div></div>

Page 28: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

LÍNEAS DEL GRID CON NOMBREUtilizar identificadores personalizados para las líneas

Una línea puede tener varios nombres

Page 29: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

LÍNEAS DEL GRID CON NOMBREABC

.grid display: grid; grid-template-columns: [left] 100px [middle center] 200px [right];

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div></div>

Page 30: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ÁREAS DEL GRIDgrid-template-areas

### ###### ###### #### #### ### ######## ######## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #### ## ###### ## ## ## ## ## ######## ########### ## ## ## ## ######### ## ## #### ## ## ## ## ## ## ## ## ## ## ## #### ## ###### ###### #### #### ## ## ## ## ##

Page 31: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ÁREAS DEL GRIDABCD

.grid display: grid; grid-auto-columns: 100px; grid-auto-rows: 75px; grid-template-areas: "header header" "nav main " "footer footer"; .a grid-area: header; .b grid-area: main; .c grid-area: nav; .d grid-area: footer;

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div> <div class="d">D</div></div>

Page 32: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ALINEAR Y JUSTIFICAREspecificación CSS Box Alignment

¡Centrado horizontal & vertical!

Page 33: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ALINEAR Y JUSTIFICAR ÍTEMSABC

.grid display: grid; grid: 100px 100px / 200px 200px; align-items: ; justify-items: ; .b align-self: ; justify-self: ;

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div></div>

Page 34: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ALINEAR Y JUSTIFICAR TRACKSABC

.grid display: grid; grid: 100px 100px / 150px 150px; align-content: ; justify-content: ;

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div></div>

Page 35: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

SEPARACIÓN ENTRE TRACKSgrid-row-gap & grid-column-gap

Page 36: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

SEPARACIÓN ENTRE TRACKSABCDE

.grid display: grid; grid: 100px 100px / 100px 100px 100px; grid-row-gap: ; grid-column-gap: ;

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div> <div class="d">D</div> <div class="e">E</div></div>

Page 37: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN AUTOMÁTICAgrid-auto-flow

Page 38: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN AUTOMÁTICAEtiqueta

CheckboxEnviar formulario

form label input

<form> <label>Etiqueta</label> <input> <label>Checkbox</label> <input type="checkbox"> <button>Enviar formulario</button</form>

Page 39: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

REPEAT() AUTOMÁTICOValores auto-fill & auto-fit para repeat()

Page 40: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

REPEAT() AUTOMÁTICOABCDE

.grid display: grid; grid-template-columns: repeat(3, 100px); grid-template-rows: repeat(3, 100px);

<div class="grid"> <div class="a">A</div> <div class="b">B</div> <div class="c">C</div> <div class="d">D</div> <div class="e">E</div></div>

Page 41: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

GRIDS ADAPTATIVOS (RESPONSIVE)El tamaño de los tracks puede ser flexible

Media Queries

Page 42: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

GRIDS ADAPTATIVOS (RESPONSIVE).grid display: grid; grid: 200px 1fr / 100px 1fr auto; grid­template­areas: "header header" "menu main " "menu footer";

@media (max­width: 400px) .grid grid: 1fr / 100px 1fr 100px auto; grid­template­areas: "header" "main " "menu " "footer";

Page 43: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

GRIDS ADAPTATIVOS (RESPONSIVE)Título

ContenidoMenú

Pie

Page 44: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

FUTURO

Page 45: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

SUBGRIDS

Grid Anidado

A B C

D

E

S1 Sub2

S3 Sub4

Subgrid

A B C

D

E

Sub1 Sub2

Sub3 Sub4

Page 46: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

SUBGRIDSEtiquetaCheckboxEnviar formulario

ul display: grid; li display: grid; label grid-column: 1;

<form><ul> <li><label>Etiqueta</label><input></li> <li><label>Checkbox</label><input type="checkbox"> <li><button>Enviar formulario</button></li></ul></form>

Page 47: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

¿CÓMO FUNCIONAN?

Page 48: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

EJEMPLO<div class="grid"> <div class="title">Title</div> <div class="nav">Nav</div> <div class="main">Lorem ipsum...</div> <div class="aside">Ad</div> <div class="aside">Adword</div></div>

.grid display: grid; width: 800px; grid­template­columns: 200px 1fr auto; grid­template­rows: 100px auto; .title grid­row: 1; grid­column: 2; .nav grid­row: 2; grid­column: 1; .main grid­row: 2; grid­column: 2; .aside grid­column: 3;

Page 49: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

GRID VACÍO

Page 50: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMS

Title

.title grid-row: 1; grid-colum: 2;

Page 51: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMS

Title

Nav

.nav grid-row: 2; grid-colum: 1;

Page 52: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMS

Title

Nav Lorem ipsum...

.main grid-row: 2; grid-colum: 2;

Page 53: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMS

Title

Nav Lorem ipsum...

Ad

.aside grid-colum: 3;

Page 54: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMS

Title

Nav Lorem ipsum...

Ad

Adword

.aside grid-colum: 3;

Page 55: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLOCACIÓN DE ÍTEMS

Title

Nav Lorem ipsum...

Ad

Adword

Page 56: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLUMNA DE TAMAÑO FIJO

Title

Nav Lorem ipsum...

Ad

Adword

200px

Page 57: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLUMNA BASADA EN CONTENIDO

Title

Nav Lorem ipsum...

Ad 60px

Adword 130px

200px auto

Page 58: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLUMNA BASADA EN CONTENIDO

Title

Nav Lorem ipsum...

Ad

Adword

200px 130px

Page 59: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLUMNA FLEXIBLE

Title

Nav Lorem ipsum...

Ad

Adword

200px 130px1fr

Page 60: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

COLUMNA FLEXIBLE

Title

Nav Lorem ipsum...

Ad

Adword

200px 130px470px

Page 61: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

HACER LAYOUT DE LOS ÍTEMS

Title

Nav Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do iusmod tempor incididunt ut labore et dolore magna aliqua.

Ad

Adword

200px 130px470px

Page 62: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

FILA CON TAMAÑO FIJO

Title

Nav Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do iusmod tempor incididunt ut labore et dolore magna aliqua.

Ad

Adword

200px 130px470px

100px

Page 63: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

FILA BASADA EN EL CONTENIDO

Title

Nav

60px

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do iusmod tempor incididunt ut labore et dolore magna aliqua.

160px

Ad

Adword

60px

200px 130px470px

100px

auto

Page 64: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

FILA BASADA EN EL CONTENIDO

Title

Nav Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do iusmod tempor incididunt ut labore et dolore magna aliqua.

Ad

Adword

200px 130px470px

100px

160px

Page 65: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ESTIRAR ÍTEMS

Title

Nav Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do iusmod tempor incididunt ut labore et dolore magna aliqua.

Ad

Adword

200px 130px470px

100px

160px

Page 66: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

RENDIMIENTO

Page 67: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TRACKS FIJOS VS BASADOS ENCONTENIDO

200px es más rápido que auto

Page 68: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

TRACKS BASADOS EN CONTENIDO VSFLEXIBLES

auto es más rápido que 1fr

Page 69: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ESTIRAR VERTICALMENTEEl estirado vertical (stretch) en ítems de tamaño

automático es más lento que las otras opciones (ej. start)

Ítem

Page 70: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

NO ESTIRAR HORIZONTALMENTEEvitar que los ítems de tamaño automático se estiren

horizontalmente (e.g. start) es mas lento

Ítem

Page 71: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ESTADO

Page 72: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

ESPECIFICACIÓN W3CCSS Grid Layout - https://dras.csswg.org/css-grid/

La empezó Microso en 2010

Último Working Dra 19 Mayo 2016

W3C Test Suite

Page 73: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

¿PUEDO USAR GRID? ὢ

Page 74: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

NAVEGADORES ὠImplementaciónantigua desde IE 10

Con prefijo: -ms

Casi lista Experimental Web PlatformFeatures

Casi como Chrome Activada por defecto enSafari Technology Preview

Casi lista también layout.css.grid.enabled

Polyfill: https://github.com/FremyCompany/css-grid-polyfill

Page 75: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

EJEMPLOS by Igalia

by Rachel Andrewhttp://igalia.github.io/css-grid-layout/http://gridbyexample.com/

Page 76: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

AGRADECIMIENTOS

y trabajando juntos por mejorar la webIgalia Bloomberg

Page 77: ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! - Igalia · ¡CSS GRID LAYOUT YA ESTÁ AQUÍ! MANUEL REGO CASASNOVAS (@regocas) HTML5Spain / 28 Junio 2016. PRESENTACIÓN Actualmente implementando

¡GRACIAS!Twitter: Correo: Blog:

@[email protected]

http://blogs.igalia.com/mrego/