Propiedad grid-auto-flow

La propiedad grid-auto-flow establece la colocación automática de elementos en grid. Puede tener los valores row - llena las filas con elementos, column - columnas, dense - coloca elementos en todos los espacios vacíos en la grid; row dense - dispone elementos, llenando cada fila y todos los espacios libres de la grid; column dense - llena con elementos cada columna y todo el espacio libre en grid.

Sintaxis

cssselector {
  grid-auto-flow: parte rellenable de grid;
}

Ejemplo

Llenemos todas las filas en la tabla:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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;
}

Результат:

Ejemplo

Y ahora llenemos todas las columnas en la tabla con elementos:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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;
}

Результат:

Ejemplo

Coloquemos todos los elementos en la tabla, para que no quede espacio libre:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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;
}

Результат:

Ejemplo

Y ahora llenemos con elementos todo el espacio libre en las filas:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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;
}

Результат:

Ejemplo

Modifiquemos el ejemplo anterior, para que los elementos llenen todo el espacio libre en las columnas:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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;
}

Результат:

Véase también

  • la propiedad grid,
    que establece la notación abreviada de las propiedades de columnas y filas
  • la propiedad grid-auto-rows,
    que establece la cantidad y el ancho de las filas en grid implícito
  • la propiedad grid-template-columns,
    que establece la cantidad y el ancho de las columnas en grid
  • la propiedad grid-template-rows,
    que establece la cantidad y el ancho de las filas en grid