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

Montando layouts em um mini game chamado Browser

Avatar for Simone Amorim Simone Amorim
September 30, 2017

Montando layouts em um mini game chamado Browser

Vamos entrar num jogo divertido revivendo o passado desde as tabelas até um futuro, que na verdade já é o presente chamado CSS Grid. Em cada jogada você vai entender que CSS Grid é uma realidade que vai revolucionar a forma como você desenvolve Layouts e estará em suas mãos como você irá querer montar layouts ao longo da sua vida, é claro que você não vai querer ficar pra trás né mesmo? Let´s go.

Avatar for Simone Amorim

Simone Amorim

September 30, 2017
Tweet

More Decks by Simone Amorim

Other Decks in Technology

Transcript

  1. Mother, WWcode Leader, Organizer of FEMUGPE, Front-End Engineer and CSS

    Evangelist <3 I love running and ride a bike! @samorim02 @simoneas02 simoneas02.github.io Epitrack
  2. <table> <td></td> </table> .box { display: inline-block; } .box {

    float: left; } .container { display: flex; } O que fez a cabeça da moçada <3
  3. Um modulo CSS3 que define um grid otimizado para interfaces

    CSS Grid Layout Module Level 1 w3.org/TR/css3-grid-layout/
  4. É o termo genérico para o espaço entre duas grid

    lines, verticais ou horizontais.
  5. Também conhecida como grid item. É o espaçamento entre duas

    line grids verticais e duas horizontais.
  6. .container { display: grid; } grid-template-rows: 100px 100px; grid-template-columns: 120px

    120px 120px; 100px; A B C D E F 1 column 2 column 3 column 2 row 1 row 3 row
  7. .a { } grid-column-start: 1; grid-column-end: 2; grid-row-start: 1; grid-row-end:

    2; .f { } grid-column-start: 3; grid-column-end: 4; grid-row-start: 2; grid-row-end: 3; B C D A E F
  8. .a { } grid-column: 1 / 2; grid-row: 1 /

    2; .a { } grid-column-start: 1; grid-column-end: 2; grid-row-start: 1; grid-row-end: 2; .a { } grid-area: 1 / 1 / 2 / 2; B C D A E F
  9. A B C .container { display: grid; } grid-template-rows: 100px;

    grid-template-columns: 100px auto 100px; .container { display: grid; } grid-template-rows: 100px; grid-template-columns: 100px 1fr 100px; A B C
  10. .container { display: grid; } grid-template-rows: 100px; grid-template-columns: 1fr 1fr

    1fr; .container { display: grid; } grid-template-rows: 100px; grid-template-columns: 2fr 1fr 1fr; A B C 1 + 1 + 1 = 3 1 1 1 2 + 1 + 1 = 4 A B C 2 1 1
  11. A B C .container { display: grid; } grid-template-rows: 100px;

    grid-template-columns: 100px repeat(2, 1fr); .container { display: grid; } grid-template-rows: 100px; grid-template-columns: repeat(3, 100px); 100px 11fr 1fr A B C 100px 100px 100px
  12. ... grid-gap: 20px 10px; .... .container { display: grid; }

    grid-template-rows: 100px 100px; grid-template-columns: 120px 120px 120px; A B C D E F 20px 20px 20px grid-rows-gap: 20px; grid-columns-gap: 20px;
  13. .a {grid-area: header;} .b {grid-area: aside;} .c {grid-area: main;} .d

    {grid-area: footer;} .container { display: grid; grid-template-rows: auto; grid-template-columns: auto; grid-template-areas: “header header header” “aside main main” “aside content content” “footer footer footer”; } main header content aside footer
  14. main header content aside footer @media(max-width: 666px) { } …

    grid-template-areas: “header header header” “aside main main” “aside content content” “footer footer footer”; … .container { grid-template-areas: “aside header header” “aside main main” “aside main main” “content footer footer”; } main header content aside footer