grid-auto-flow
A propriedade de CSS grid-auto-flow
controla como o algoritmo de arrumação automática funciona, especificando exatamente como os itens fluirão no grid.
/* Keywords Chaves */
grid-auto-flow: row;
grid-auto-flow: column;
grid-auto-flow: dense;
grid-auto-flow: row dense;
grid-auto-flow: column dense;
/* Valores globais */
grid-auto-flow: inherit;
grid-auto-flow: initial;
grid-auto-flow: unset;
Initial value | row |
---|---|
Aplica-se a | grid containers |
Inherited | não |
Computed value | as specified |
Animation type | discrete |
Syntaxe
Esta propriedade pode ser de duas maneiras:
- uma única keyword (palavra-chave):
row(linha)
,column
(coluna), oudense(denso)
. - duas keywords (palavras-chave):
row dense(linha densa)
oucolumn dense(coluna densa)
.
Valores
row (linha)
- Keyword (palavra-chave) que determina que o algoritmo de arrumação automática coloca os itens preenchendo cada linha de uma vez, adicionando novas linhas se necessário. Se nem
row
(linha) oucolumn(coluna)
for especificado,row (linha)
é assumido. column (coluna)
- É uma keyword (palavra-chave) que determina que o algoritmo de arrumação automática coloque os itens preenchendo colunas, adicionando novas se necessário.
dense (denso)
- Keyword (palavra-chave) que determina que o algoritmo de arrumação automática use um formato de compactação "denso", que tenta preencher os espaços anteriores do grid caso receba itens menores após. Isto talvez deixe os itens fora de ordem, preenchendo espaços deixados por itens maiores.
- Se omitido, o algoritmo "esparso" é utilizado, onde o algoritmo de arrumação somente "avança" no grid ao colocar os itens, nunca voltando para preencher os espaços. Isso garante que todos os itens colocados automaticamente apareçam "em ordem", mesmo que deixem espaçs que poderiam ser preenchidos por itens posteriores.
Sintaxe Formal
[ (en-US) row | (en-US) column ] (en-US) || (en-US) dense
Exemplo
Conteúdo HTML
<div id="grid">
<div id="item1"></div>
<div id="item2"></div>
<div id="item3"></div>
<div id="item4"></div>
<div id="item5"></div>
</div>
<select id="direction" onchange="changeGridAutoFlow()">
<option value="column">column</option>
<option value="row">row</option>
</select>
<input id="dense" type="checkbox" onchange="changeGridAutoFlow()">
<label for="dense">dense</label>
Conteúdo CSS
#grid {
height: 200px;
width: 200px;
display: grid;
grid-gap: 10px;
grid-template: repeat(4, 1fr) / repeat(2, 1fr);
grid-auto-flow: column; /* or 'row', 'row dense', 'column dense' */
}
#item1 {
background-color: lime;
grid-row-start: 3;
}
#item2 {
background-color: yellow;
}
#item3 {
background-color: blue;
}
#item4 {
grid-column-start: 2;
background-color: red;
}
#item5 {
background-color: aqua;
}
Especificações
Especificação | Status | Comentário |
---|---|---|
CSS Grid Layout The definition of 'grid-auto-flow' in that specification. |
Candidata a Recomendação | Definição Inicial |
Compatibilidade de Browser
BCD tables only load in the browser
Veja Também
- Propriedades CSS relacionadas:
grid-auto-rows
(en-US),grid-auto-columns
(en-US),grid
- Guia de Grid Layout: Arrumação automática no grid layout
- Video tutorial: Introduzindo arrumação automática no grid e ordem