CSS grid Bonitão

CSS grid Bonitão

Uma das coisas mais maravilhosas do CSS é a facilidade de poder criar Grids com facilidades, nesse artigo vamos estudar umas possibilidades usando o grid-template e suas variantes em conjunto com o display: grid;.

Bora pro code!

Como fazer a Grid? Basicamente precisamos ter um container com `display: grid. Apos fazer isso temos que definir quantas colunas e quantas linhas sua Grid vai ter e para isso vamos usar grid-template-columns para colunas e grid-template-rows para linhas e o gap para dar espaços para cada elemento.

.container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;  
    grid-template-rows: repeat(3 1fr);
    grid-gap: 10px;
}

Note que estamos usando duas formas para atribuir medidas 1fr e repeat(3 1fr), ambas fazem a mesma coisa, atribuem 1 fração para cada coluna, quanto mais frações mais colunas ou linhas teremos para ser exibido.

GAPS

Trabalhar com gaps nos permite ter flexibilidade para tratar espaçamentos na nossa grid. O gap tem a possibilidade de receber 2 parâmetros de unidades de medidas, seja fr(fração), px(pixels) ou qualquer outro que usamos para atribuir medidas.

  • Parâmetros: gap:linha coluna

Mas também temos a possibilidade de atribuir valores para somente linhas ou somente colunas usando row-gap: 1fr e column-gap: 1fr

No exemplo acima só estou usando a .box para aplicar estilização onde possamos visualizar melhor o nosso resultado.

Mas e se eu precisar de espaço diferente em cada elemento o que eu faço?

Temos uma propriedade bem legal chamada de grid-area que nos permite nomear uma classe com o nome que quiser para que ela possa ser referenciado a um modelo com a propriedade grid-template-areas.

grid-template-areas: Define um modelo de grade referenciando os nomes de grades que já foi previamente criado em um grid-area, repetir o nome faz com que o conteúdo se espalhe pelas células, um ponto representa uma célula vazia e none representa nenhuma área de grid.

.container {
  display: grid;
  grid-template-columns: repeat(4 1fr);
  grid-template-rows: auto;
  grid-template-areas:
   " | . | none | ... "
}

Exemplo:

Por enquanto é isso pessoal, uma breve abertura para esse universo de possibilidades usando grids. 💜

Did you find this article valuable?

Support Diego Telles by becoming a sponsor. Any amount is appreciated!