Propriedade grid-auto-flow
A propriedade grid-auto-flow define
o posicionamento automático de itens no grid.
Pode ter os valores row - preenche
as linhas com elementos, column - colunas,
dense - posiciona os elementos em todos os espaços vazios
na grade; row dense - organiza os elementos, preenchendo
cada linha e todos os espaços livres da grade; column dense -
preenche com elementos cada coluna e todo o espaço livre no grid.
Sintaxe
seletor {
grid-auto-flow: parte preenchível do grid;
}
Exemplo
Vamos preencher todas as linhas na tabela:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: grid;
grid-auto-flow: row;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr 2fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Exemplo
E agora vamos preencher todas as colunas na tabela com elementos:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: grid;
grid-auto-flow: column;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr 2fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Exemplo
Vamos posicionar todos os elementos na tabela, para que não sobre espaço livre:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: grid;
grid-auto-flow: dense;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr 2fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Exemplo
E agora vamos preencher com elementos todo o espaço livre nas linhas:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: grid;
grid-auto-flow: row dense;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr 2fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Exemplo
Vamos modificar o exemplo anterior, para que os elementos preencham todo o espaço livre nas colunas:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: grid;
grid-auto-flow: column dense;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr 2fr;
border: 2px solid #696989;
padding: 10px;
width: 400px;
height: 200px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
:
Veja também
-
a propriedade
grid,
que define a forma abreviada das propriedades de colunas e linhas -
a propriedade
grid-auto-rows,
que define a quantidade e a largura das linhas no grid implícito -
a propriedade
grid-template-columns,
que define a quantidade e a largura das colunas no grid -
a propriedade
grid-template-rows,
que define a quantidade e a largura das linhas no grid