Layouts modernos com CSS Grid

Thiago Domene Albanez Thiago Domene Albanez
15 de julho de 2024
Layouts modernos com CSS Grid

Para quem trabalha com desenvolvimento web, é comum enfrentar a necessidade de posicionar blocos com itens lado a lado ou estilizar cards de forma intercalada. Tradicionalmente, isso representava um desafio, pois as opções se limitavam ao uso de float e positioning, técnicas nem sempre fáceis de gerenciar.

Com o tempo, o Flexbox surgiu como uma solução revolucionária, facilitando enormemente o manejo de linhas e colunas e eliminando de vez o antigo trauma de “centralizar uma div“.

No entanto, neste post, vamos dar um passo além e explorar o CSS Grid, uma ferramenta ainda mais poderosa para a criação de layouts complexos e a organização de blocos. Junte-se a nós para entender como você pode tirar o máximo proveito desse módulo do CSS, que promete simplificar ainda mais a vida dos desenvolvedores web.

O que é CSS Grid?

CSS Grid é um sistema de layout bidimensional para a web que permite aos desenvolvedores criar interfaces complexas e responsivas de maneira mais intuitiva e flexível. Foi introduzido como parte do módulo de layout CSS e oferece um controle sem precedentes sobre a estrutura visual da página.

Principais Utilidades do CSS Grid

  • Layouts Responsivos: Facilita a criação de designs que se ajustam a diferentes tamanhos de tela, sem a necessidade de frameworks externos.
  • Posicionamento Preciso: Permite posicionar elementos em linhas e colunas específicas, controlando espaçamentos, alinhamento e sobreposição de forma precisa.
  • Manutenção Simplificada: Com o Grid, é possível alterar o layout de grandes seções da página com poucas linhas de código, tornando a manutenção mais fácil.
  • Designs Complexos: Permite a criação de designs que eram difíceis ou impossíveis com técnicas de layout mais antigas como float ou positioning.

Benefícios do CSS Grid

  • Controle Completo: Oferece controle total sobre o layout, com ajustes finos em alinhamento, dimensionamento e espaçamento.
  • Menos Código: Reduz significativamente a quantidade de CSS necessária para criar layouts complexos.
  • Intuitivo: Uma vez familiarizado, os desenvolvedores acham mais intuitivo para manipular o layout de uma página.
  • Compatibilidade: Suporte amplo entre navegadores modernos, incluindo mobile.

Já captamos o conceito, vamos ver na prática alguns modelos simples para a utilização do CSS Grid!

CSS Grid na prática

Imagine uma situação em que temos que apresentar diversos cards, lado a lado, o primeiro passo seria montar a estrutura de lista no HTML:

<style>
* {
	margin: 0;
	padding: 0;
	color: black;
}
ul {
	list-style-type: none;
}
li {
	background-color: #007aff;
	padding: 15px;
}
li:nth-child(even) { /* Para alterar a cor de fundo apenas dos itens pares */
	background-color: #ffbf46;
}
</style>

<ul>
  <li>Card 1</li>
  <li>Card 2</li>
  <li>Card 3</li>
  <li>Card 4</li>
  <li>Card 5</li>
</ul>

O resultado do código acima, deve mostrar algo semelhante a isso:

Layouts modernos com CSS Grid

Agora vamos aplicar 3 propriedades do CSS Grid, e ver a mágica acontecer.

ul {
     /* outras configurações */
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 30px;
}

E o resultado da implementação acima:

Simples né!? Veja que na linha grid-template-columns: repeat(5, 1fr); regulamos a quantidade de colunas e o tamanho que cada coluna deve ter, neste caso quando informamos 1fr, estamos indicando que o tamanho de uma coluna ou linha deve ser uma fração do espaço restante no grid, também podemos utilizar outros valores, como auto, px ou %.

Já na linha grid-gap: 30px; representamos o espaçamento entre os itens, e isso é muito interessante, uma vez que não precisamos mais focar em ajustes específicos, como li + li {margin-left: 30px;}, por exemplo 😉

Conclusão

Em resumo, CSS Grid é uma ferramenta poderosa e flexível que revolucionou a forma como construímos layouts na web. Com sua capacidade de criar estruturas complexas e responsivas de forma intuitiva e eficiente, o CSS Grid oferece aos desenvolvedores um controle sem precedentes sobre o sistema de design visual de seus sites. Os benefícios de adotar o CSS Grid são claros: desde a simplificação do código até a melhoria na manutenibilidade e na escalabilidade dos projetos.

Encorajo os desenvolvedores a experimentar e integrar o CSS Grid em seus fluxos de trabalho, pois ele não apenas aumenta a qualidade e a flexibilidade dos layouts, mas também prepara nossos projetos para o futuro da web design.

À medida que avançamos, o CSS Grid continuará a ser uma parte essencial do kit de ferramentas de qualquer desenvolvedor front-end, permitindo-nos construir experiências web mais ricas e acessíveis para todos os usuários.

E claro que não para por aí, o CSS Grid tem muitas outras propriedades e casos de uso, quer saber mais, então acesse a documentação clicando aqui.

Velx Tecnologia