Grid Auto Flow

Tailwind CSS version
v1.2.0+

Utilities for controlling how elements in a grid are auto-placed.

Class reference

Class
Properties
.grid-flow-rowgrid-auto-flow: row;
.grid-flow-colgrid-auto-flow: column;
.grid-flow-row-densegrid-auto-flow: row dense;
.grid-flow-col-densegrid-auto-flow: column dense;

Usage

Use the grid-flow-{keyword} utilities to control how the auto-placement algorithm works for a grid layout.

1
2
3
4
5
6
7
8
9
<div class="grid grid-flow-col grid-cols-3 grid-rows-3 gap-4">
  <div>1</div>
  <!-- ... -->
  <div>9</div>
</div>

Responsive

To control the grid-auto-flow property at a specific breakpoint, add a {screen}: prefix to any existing grid-auto-flow utility. For example, use md:grid-flow-col to apply the grid-flow-col utility at only medium screen sizes and above.

<div class="grid grid-flow-col sm:grid-flow-row md:grid-flow-col-dense lg:grid-flow-row-dense xl:grid-flow-col ...">
  <div>1</div>
  <!-- ... -->
  <div>9</div>
</div>

For more information about Tailwind's responsive design features, check out the Responsive Design documentation.

Customizing

Responsive and pseudo-class variants

By default, only responsive variants are generated for grid-auto-flow utilities.

You can control which variants are generated for the grid-auto-flow utilities by modifying the gridAutoFlow property in the variants section of your tailwind.config.js file.

For example, this config will also generate hover and focus variants:

  // tailwind.config.js
  module.exports = {
    variants: {
      // ...
-     gridAutoFlow: ['responsive'],
+     gridAutoFlow: ['responsive', 'hover', 'focus'],
    }
  }

Disabling

If you don't plan to use the grid-auto-flow utilities in your project, you can disable them entirely by setting the gridAutoFlow property to false in the corePlugins section of your config file:

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
+     gridAutoFlow: false,
    }
  }

Tailwind UI is now in early access!