As propriedades grid-template-rows
e grid-template-columns
são as propriedades CSS primárias para estabelecer um layout de grade, uma vez que o elemento é um contexto de grade ( display: grid;
).
Existem também -ms-grid-columns
e -ms-grid-rows
, que são a versão antiga do IE. Você pode querer considerar a correção automática para obtê-los, ou não, sua chamada. Houve também um período estranho onde eles estavam grid-definition-columns
e grid-definition-rows
, mas isso não é mais uma coisa.
Aqui está um exemplo derivado da documentação da Microsoft:
.grid ( display: grid; grid-template-columns: auto 100px 1fr 2fr; grid-template-rows: 50px 5em min-content auto; )
Isso define o número de linhas / colunas na grade, bem como sua dimensão.
Essas duas propriedades oferecem suporte a uma lista de valores separados por espaços. Cada valor definirá uma nova coluna / linha definindo uma dimensão. Uma lista de 4 valores resultará em 4 colunas / linhas. Um único valor produzirá uma única coluna / linha.
Valores aceites incluem o comprimento (como px
ou em
), percentagens, fracções ( fr
; ver abaixo), auto
(ou fit-content
), min-content
, max-content
, e minmax()
, ou a repeat()
função.
No exemplo de código acima, isso significa:
- Coluna 1 ( palavra - chave automática ): a coluna é ajustada ao conteúdo da coluna.
- Coluna 2 (“100px”): a coluna tem 100 pixels de largura.
- Coluna 3 (“1fr”): A coluna ocupa uma unidade de fração do espaço restante.
- Coluna 4 (“2fr”): A coluna ocupa duas unidades de fração do espaço restante.
- Linha 1 (“50px”): a linha tem 50 pixels de altura.
- Linha 2 (“5em”): a linha tem 5 ems de altura.
- Linha 3 ( palavra - chave de conteúdo mínimo ): A linha é tão pequena quanto o conteúdo permite.
- Linha 4 ( palavra - chave automática ): a linha é ajustada ao conteúdo da linha.
repita()
A repeat()
função foi projetada especificamente para este módulo. Ele permite que você defina um padrão repetido X vezes. Gosto repeat(6, 1fr);
. Digamos que você queira fazer 12 colunas de largura igual espaçadas umas das outras por uma margem de 1%; você poderia definir 1fr repeat(11, 1% 1fr)
. É o mesmo que 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr 1% 1fr
.
A unidade fr
A fr
unidade pode ser usada para valores grid-rows
e grid-columns
. Significa “fração de espaço disponível”. Pense nisso como porcentagens de espaço disponível quando você removeu colunas / linhas de tamanho fixo e baseadas em conteúdo. Como diz a especificação:
A distribuição do espaço fracionário ocorre depois que todos os tamanhos de linhas e colunas de 'comprimento' ou baseados em conteúdo atingem seu máximo.
Relacionado
Nosso melhor recurso para todas as coisas sobre grade CSS é nosso Guia completo para grade CSS.
Suporte para navegador
Os dados de suporte deste navegador são do Caniuse, que tem mais detalhes. Um número indica que o navegador oferece suporte ao recurso nessa versão e superior.
Área de Trabalho
cromada | Raposa de fogo | IE | Beira | Safári |
---|---|---|---|---|
57 | 52 | 11 * | 16 | 10,1 |
Celular / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 10,3 |