Escolar Documentos
Profissional Documentos
Cultura Documentos
bySimoneAmorimonCodePen
Log In Sign Up
#O Futuro chegou
Finalmente o to aguardado dia chegou, essa semana ganhamos algo mais importante do que uma especi cao boa, ganhamos a implementao de uma especi cao
boa nos principais browsers <3.
At o momento usamos gambiarra para a criao de layouts com CSS, porque at ento no existia nada voltado especi camente para essa funo, legal temos exbox,
mas lek, relaxa ai e l at o nal :)
Em seguida iniciamos a utilizao do oat em lugar das tabelas, o que nos ajudou muito por ser mais exvel e usar menos cdigo HTML, mas o oat no foi feito pra
isso, s quem usou sabe como era triste e limitado.
Pra ajudar a alinhar e distribuir espao entre itens em um container, surgiu o CSS Flexbox Layout (Flexbox), onde a ideia principal dar ao container a capacidade de
alterar a largura / altura e ordem de seus itens para um melhor preenchimento do espao disponvel e principalmente para acomodar todos os tipos de dispositivos de
exibio e tamanhos de tela. Mas o amado exbox no resolve todos os problemas e tambm no foi criado para resolve-los, principalmente quando o assunto so
interfaces complexas.
http://codepen.io/simoneas02/post/gridlayout 1/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
Hoje, o cialmente estamos no futuro e temos suportado nos browsers uma opo realmente disrruptiva no quesito "criar layouts" com CSS, lhes apresento o seu novo
Deus.
EDI T ON
HTML CSS Result
J Grid Layout a soluo certa quando voc deseja controlar o dimensionamento e o alinhamento em duas dimenses.
EDI T ON
HTML CSS Result
#Terminologia
http://codepen.io/simoneas02/post/gridlayout 2/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
Antes de iniciar a trabalhar com Grid Layout necessrio entender os termos que vem junto com a especi cao. Explicarei cada um deles para facilitar o
entendimento dos exemplos posteriores.
#Grid Lines
So as linhas que de nem o grid, elas podem ser distribudas de forma horizontal ou vertical. Futuramente poderemos nos referir a elas por um nmero ou por um
nome que pode ser de nido pelo desenvolvedor.
#Grid Tracks
o espao horizontal ou vertical entre duas Grid Lines.
http://codepen.io/simoneas02/post/gridlayout 3/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
http://codepen.io/simoneas02/post/gridlayout 4/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
#Grid Areas
qualquer espao no Grid usado para exibir um ou mais Gid Cells/ Items.
http://codepen.io/simoneas02/post/gridlayout 5/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
#Grid Containers
o pai direto de todos os itens do grid sendo o elemento que recebe a propriedade display:grid.
<divclass="containerbox">
<divclass="box"></div>
<divclass="box"></div>
<divclass="box"></div>
</div>
http://codepen.io/simoneas02/post/gridlayout 6/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
#Grid items
So os itens que representam o contedo do grid, cada lho direto do grid container torna-se um grid item.
No exemplo abaixo cada elemento .box um grid item, porm o .sub-box no.
HTML
<divclass="containerbox">
<divclass="box"></div>
<divclass="box">
<divclass="subbox"></div>
</div>
<divclass="box"></div>
</div>
#Definindo um Grid
Para de nir um grid use os novos valores da propriedade display display:grid ou display:inlinegrid, assim que for de nido uma dessas propriedades no
.container-box todos os lhos direto desse elemento se tornaro itens do grid automagicamente.
.containerbox{
display:grid;
}
.containerbox{
display:inlinegrid;
}
#Line-base placement
http://codepen.io/simoneas02/post/gridlayout 7/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
Cada valor atribudo a propriedade gridtemplatecolumns representa uma coluna que assumir o tamanho do valor que lhe for atribuido, assim como a
propriedade gridtemplaterows assumir o espessura do valor que lhe for atribudo.
Use as propriedades gridcolumngap e gridrowgap para especi car o espaamento entre as columns e as rows do grid.
CSS
.containerbox{
display:grid;
gridtemplatecolumns:50px100px150px200px;
gridtemplaterows:50px100px150px;
gridcolumngap:20px;
gridrowgap:20px;
}
http://codepen.io/simoneas02/post/gridlayout 8/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
Podemos usar o shorthand gridgap para passar os dois valores de uma s vez ;)
CSS
...
gridgap:20px;
...
http://codepen.io/simoneas02/post/gridlayout 9/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
#Line-base position
De ne onde est localizado um grid item no grid container, fazendo referncia a uma grid line espec ca.
Use gridcolumnstart e gridrowstart para especi car a grid line onde o item comea e gridcolumnend e gridrowend para especi car a grid line onde o
item termina.
CSS
.box{
gridcolumnstart:1;
gridrowstart:2;
gridcolumnend:4;
gridrowend:4;
}
http://codepen.io/simoneas02/post/gridlayout 10/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
CSS
http://codepen.io/simoneas02/post/gridlayout 11/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
.box{
gridcolumn:1/4;/*gridcolumnstart/gridcolumnend*/
gridrow:2/4;/*gridrowstart/gridrowend*/
}
.box{
gridarea:1/2/4/4;/*gridcolumnstart/gridrowstart/gridcolumnend/gridrowend*/
}
#Area naming
No grid container podemos manipular a posio e comportamento dos grid itens, isso atravs da propriedade gridtemplateareas, onde podemos literalmente
montar todo o nosso layout em apenas uma propriedade. Para facilitar e atribuir mais semntica ao que estamos fazendo, atribuimos um nome a nossos grid itens
atravs da j conhecida gridarea.
http://codepen.io/simoneas02/post/gridlayout 12/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
EDI T ON
HTML CSS Result
isso mesmo que voc viu ai em cima mano, relaxa e tente viver com essa realidade.
#Concluso
Esse artigo foi apenas uma pincelada em algumas das features que eu lembrei de cabea aqui na hora, mas acreditem, a especi cao tem MUITO mais a oferecer.
#Comenta ahe ;)
Se quiserem saber mais sobre o assunto podem me seguir por ahee, se tiverem alguma dvida mandem comments ou gritem nas redes sociais.
@samorim02 (Twitter)
@simoneas02 (GitHub)
Personal Page
XOXO
12,751 16 48
Comments Lovers
1.
orgulho
http://codepen.io/simoneas02/post/gridlayout 14/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
orgulho
2.
3.
http://codepen.io/simoneas02/post/gridlayout 15/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
4.
http://codepen.io/simoneas02/post/gridlayout 16/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
5.
6.
http://codepen.io/simoneas02/post/gridlayout 17/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
7.
8.
http://codepen.io/simoneas02/post/gridlayout 18/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
9.
10.
http://codepen.io/simoneas02/post/gridlayout 19/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
11.
http://codepen.io/simoneas02/post/gridlayout 20/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
12.
13.
2
http://codepen.io/simoneas02/post/gridlayout 21/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
14.
15.
http://codepen.io/simoneas02/post/gridlayout 22/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
16.
CodePen Community
About Jobs
Blog Meetups
Podcast Teams
Advertising Patterns
Support
Shop
http://codepen.io/simoneas02/post/gridlayout 24/25
02/05/2017 AdeusFlexbox,bemvindoCSSGridLayout!bySimoneAmorimonCodePen
2017 CodePen
http://codepen.io/simoneas02/post/gridlayout 25/25