Grid Template Columns

Tailwind CSS version
v1.2.0+

Utilities for specifying the columns in a grid layout.

Class reference

Class
Properties
.grid-cols-1grid-template-columns: repeat(1, minmax(0, 1fr));
.grid-cols-2grid-template-columns: repeat(2, minmax(0, 1fr));
.grid-cols-3grid-template-columns: repeat(3, minmax(0, 1fr));
.grid-cols-4grid-template-columns: repeat(4, minmax(0, 1fr));
.grid-cols-5grid-template-columns: repeat(5, minmax(0, 1fr));
.grid-cols-6grid-template-columns: repeat(6, minmax(0, 1fr));
.grid-cols-7grid-template-columns: repeat(7, minmax(0, 1fr));
.grid-cols-8grid-template-columns: repeat(8, minmax(0, 1fr));
.grid-cols-9grid-template-columns: repeat(9, minmax(0, 1fr));
.grid-cols-10grid-template-columns: repeat(10, minmax(0, 1fr));
.grid-cols-11grid-template-columns: repeat(11, minmax(0, 1fr));
.grid-cols-12grid-template-columns: repeat(12, minmax(0, 1fr));
.grid-cols-nonegrid-template-columns: none;

Usage

Use the grid-cols-{n} utilities to create grids with n equally sized columns.

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

Responsive

To control the columns of a grid at a specific breakpoint, add a {screen}: prefix to any existing grid-template-columns utility. For example, use md:grid-cols-6 to apply the grid-cols-6 utility at only medium screen sizes and above.

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

<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6">
  <!-- ... -->
</div>

Customizing

By default Tailwind includes grid-template-column utilities for creating basic grids with up to 12 equal width columns. You change, add, or remove these by customizing the gridTemplateColumns section of your Tailwind theme config.

You have direct access to the grid-template-columns CSS property here so you can make your custom column values as generic or as complicated and site-specific as you like.

  // tailwind.config.js
  module.exports = {
    theme: {
      extend: {
        gridTemplateColumns: {
          // Simple 16 column grid
+         '16': 'repeat(16, minmax(0, 1fr))',

          // Complex site-specific column configuration
+         'footer': '200px minmax(900px, 1fr) 100px',
        }
      }
    }
  }

Learn more about customizing the default theme in the theme customization documentation.

Responsive and pseudo-class variants

By default, only responsive variants are generated for grid-template-columns utilities.

You can control which variants are generated for the grid-template-columns utilities by modifying the gridTemplateColumns 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: {
      // ...
-     gridTemplateColumns: ['responsive'],
+     gridTemplateColumns: ['responsive', 'hover', 'focus'],
    }
  }

Disabling

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

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

Tailwind UI is now in early access!