Skip to content

CSS Grid explicado

Todas as propriedades comuns do CSS grid, agrupadas por onde se aplicam: no contentor, no item e nas unidades de dimensão. Cada linha associa a propriedade aos seus valores comuns.

O Grid dispõe os elementos em duas dimensões: linhas e colunas ao mesmo tempo. Defina display: grid no elemento pai, declare as faixas com grid-template-columns e grid-template-rows e coloque os filhos em células. Use grid para esquemas de página e de cartões; use flexbox para barras unidimensionais. Os dois compõem-se livremente.

Tabela de referência · 33 entradas
33 of 33 rows
Contentor
grid | inline-gridTorna o elemento num contentor grid.
1fr 1fr | repeat(3, 1fr) | 200px 1frDefine as colunas e as suas larguras.
auto 1fr autoDefine as linhas e as suas alturas.
[main-start] 1fr [main-end]Dá nomes às linhas do grid num modelo e coloca os itens por esses nomes.
1rem | 8px 16pxEspaço entre linhas e colunas.
"header header" "nav main"Dá nomes às células para uma colocação legível.
"head head" 64px "nav main" 1fr / 200px 1frDefine linhas, colunas e áreas num só atalho.
repeat(2, 1fr) / auto-flow 80pxDefine todas as propriedades de faixa e o grid-auto-flow numa só declaração.
minmax(80px, auto)Define a altura das linhas que o modelo não define.
120px | minmax(0, 1fr)Define a largura das colunas que o modelo não define.
row | column | row denseEscolhe o eixo para os itens não colocados; dense preenche as lacunas anteriores.
start | center | end | stretchAlinha cada item dentro da sua célula ao longo do eixo da linha.
start | center | end | stretchAlinha cada item dentro da sua célula ao longo do eixo da coluna.
center | start endDefine align-items e justify-items numa só declaração.
start | center | space-betweenAlinha a grelha de faixas dentro do contentor ao longo do eixo da linha.
start | center | space-betweenAlinha a grelha de faixas dentro do contentor ao longo do eixo da coluna.
center | end startDefine align-content e justify-content numa só declaração.
Item
1 / 3 | span 2Coloca ou estende um item ao longo das colunas.
1 / 2 | span 3Coloca ou estende um item ao longo das linhas.
grid-column: 2 / -1Conta as linhas a partir do fim da grelha; -1 é a última linha.
header | 1 / 1 / 2 / 3Nomeia ou coloca totalmente um item num só atalho.
start | center | end | stretchAlinha este único item dentro da sua célula ao longo do eixo da linha.
start | center | end | stretchAlinha este único item dentro da sua célula ao longo do eixo da coluna.
center | start endDefine align-self e justify-self numa só declaração.
Unidades de dimensão
1fr | 2frUma fração do espaço livre na faixa.
auto | 1fr autoDimensiona uma faixa pelo seu conteúdo; o alinhamento pode esticá-la.
min-content | max-contentDimensiona uma faixa pelo seu conteúdo mais pequeno ou mais largo.
fit-content(180px)Dimensiona uma faixa pelo conteúdo, mas nunca além do limite dado.
minmax(200px, 1fr)Limita uma faixa entre um mínimo e um máximo.
repeat(4, 1fr)Repete um padrão de faixas sem escrever cada uma.
repeat(auto-fit, minmax(120px, 1fr))Acrescenta tantas faixas quantas couberem; auto-fit colapsa as vazias.
grid-template-columns: subgridFaz uma grelha aninhada partilhar as faixas e os nomes de linhas do pai.
grid-template-rows: masonryExperimental: empaçota os itens em colunas por altura, em vez de linhas fixas.