Grid-Auto-Flow Property

The grid-auto-flow property controls how auto-placed items get inserted in the grid.


Syntax:

grid-auto-flow: row | column | dense | row dense | column dense;

Where,

  • row: Default value. Places items by filling each row

  • column: Places items by filling each column

  • dense: Place items to fill any holes in the grid

  • row dense: Places items by filling each row, and fill any holes in the grid

  • column dense: Places items by filling each column, and fill any holes in the grid


Example:

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-template-rows: auto auto;
  grid-gap: 10px;
  background-color: pink;
  padding: 10px;
}

.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}
</style>
</head>
<body>

<h2>Grid-Auto-Flow Property</h2>
<p>This grid has three columns and two rows.</p>

<h2>grid-auto-flow: column</h2>
<p>Insert items column by column:</p>
<div class="grid-container" style="grid-auto-flow: column;">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
</div>

<h2>Grid-Auto-Flow: row</h2>
<p>Insert items row by row:</p>
<div class="grid-container" style="grid-auto-flow: row;">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
</div>

</body>
</html>