O que é o display grid?

Perguntado por: oamorim4 . Última atualização: 28 de maio de 2023
4.8 / 5 3 votos

Mais uma propriedade de posicionamento de elementos! A propriedade display: flex já nos proporcionou grandes vantagens em relação às maneiras que costumávamos manipular posicionamento de elementos, só que encontramos uma certa complicação quando precisamos posicionar elementos de forma bidimensional.

Um grid area é um ou mais grid cells (en-US) que compõem uma área retangular do grid. As Grid Areas quando se coloca um item usando line-based placement (en-US) (posicionamento baseado em colunas e linha)ou quando define áreas usando named grid areas (en-US)(substituindo o nome).

A recomendação para utilização do CSS Grid é para ser aplicado quando formos utilizar elementos em duas dimensões (ex. linhas e colunas), como o layout de uma página. Já o flexbox é mais recomendado para ser utilizado quando formos trabalhar em apenas uma dimensão, seja ela tanto vertical quanto horizontal.

O Flexbox é um conceito do CSS3 que visa organizar os elementos de uma página HTML dentro de seus containers de forma dinâmica. Ou seja, independente das suas dimensões eles sempre manterão um layout flexível dentro do seu elemento pai, reorganizando-se e acordo com a necessidade.

A principal ferramenta para criar layouts responsivos com CSS Grid é o repeat() , junto com alguns valores como auto-fit e minmax() . A função repeat() do CSS é utilizada com propriedades, como grid-template-columns , para definir a estrutura repetida em um contêiner grid (elemento que tem display: grid ).

Os principais tipos são:

  • Grid de uma coluna;
  • Grid de duas colunas;
  • Grid com colunas múltiplas;
  • Grid modular;
  • Grid hierárquico.

rede f. The storm damaged the electricity grid. A tempestade danificou a rede elétrica.

A arquitetura Grid é comumente descrita através de camadas, que provêm funções específicas, sendo que as camadas mais altas são mais centradas no usuário, enquanto que as mais baixas no hardware. A camada mais baixa é a da rede, que tem o papel de conectar os recursos da grid.

A propriedade CSS gap define os espaços (gutters (en-US)) entre as linhas e colunas. É uma propriedade shorthand para row-gap (en-US) e column-gap (en-US).

O CSS Grid é um sistema de estruturação de layout que o CSS nos fornece. Diferente do Flexbox, que apenas nos permite trabalhar em uma única dimensão, o CSS Grid nos permite configurar layouts em duas dimensões (linhas e colunas). A junção de linhas e colunas formam uma grade, o que dá o nome a esse sistema (Grid).

No Flexbox, temos um sistema unidimensional em que podemos criar linhas e colunas baseados em um único eixo. Com isso podemos projetar e construir páginas na web responsivas sem o uso de propriedades estranhas como o float ou position em nosso código CSS.

Se alinhamento, espaçamento e direção é o máximo de controle que você precisa ter dos seus elementos, use flex. Se você precisa encaixar elementos dentro de um container da forma que eles são, sem se preocupar com o tamanho individual de cada elemento, flexbox.

A propriedade CSS flex-wrap define se os itens flexíveis são forçados a ficarem na mesma linha ou se podem ser quebradas em varias linhas. Se o argumento for valido, ele define a direção em que as linhas são empilhadas.

align-items — controla o alinhamento de todos os itens no eixo transversal. align-self — controla o alinhamento individual de um item no eixo transversal. align-content — descrito na especificação como "packing flex lines"; controla o espaço entre as linhas no eixo transversal.

A propriedade justify-content é usada para alinhar os elementos ao longo do eixo principal (main-axis), cuja direção (row ou column) é definida a partir da propriedade flex-direction. O valor inicial padrão é flex-start, que alinha os elementos no início do eixo-principal, rente à borda esquerda do contêiner flex.

Para posicionar devemos usar a propriedade grid-template-areas e usar os nomes atribuidos a grid-area nos elementos para ordenar as posições. Como o elemento topo está somente em uma linha todos valores estão dispostos em uma linha única de código (linha 1 – Entre as Grid Lines 1 e 2).

O que é Grid de 8 pontos
O grid de 8 pontos é quando usamos múltiplos de 8 para definir tanto o espaçamento, quanto o tamanho dos elementos da página em que estamos construindo. A utilização de números como 8 para dimensionar e espaçar elementos torna o dimensionamento para uma ampla variedade de dispositivos.

O layout fluido permite alinhar elementos para que eles ajustem automaticamente o alinhamento e as proporções a diferentes tamanhos e orientações de página. Esse tipo de layout é ideal para documentos responsivos, mas ele também pode funcionar com elementos de tamanho fixo.