Flexbox & Grid
Grid Template Columns
Utilities for specifying the columns in a grid layout.
Quick reference
Class | Properties |
---|---|
grid-cols-1 | grid-template-columns: repeat(1, minmax(0, 1fr)); |
grid-cols-2 | grid-template-columns: repeat(2, minmax(0, 1fr)); |
grid-cols-3 | grid-template-columns: repeat(3, minmax(0, 1fr)); |
grid-cols-4 | grid-template-columns: repeat(4, minmax(0, 1fr)); |
grid-cols-5 | grid-template-columns: repeat(5, minmax(0, 1fr)); |
grid-cols-6 | grid-template-columns: repeat(6, minmax(0, 1fr)); |
grid-cols-7 | grid-template-columns: repeat(7, minmax(0, 1fr)); |
grid-cols-8 | grid-template-columns: repeat(8, minmax(0, 1fr)); |
grid-cols-9 | grid-template-columns: repeat(9, minmax(0, 1fr)); |
grid-cols-10 | grid-template-columns: repeat(10, minmax(0, 1fr)); |
grid-cols-11 | grid-template-columns: repeat(11, minmax(0, 1fr)); |
grid-cols-12 | grid-template-columns: repeat(12, minmax(0, 1fr)); |
grid-cols-none | grid-template-columns: none; |
Show all classes
Basic usage
Specifying the columns in a grid
Use the grid-cols-{n}
utilities to create grids with n equally sized columns.
<div class="grid grid-cols-4 gap-4">
<div>01</div>
<!-- ... -->
<div>09</div>
</div>
Applying conditionally
Hover, focus, and other states
Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:grid-cols-6
to only apply the grid-cols-6
utility on hover.
<div class="grid grid-cols-1 hover:grid-cols-6">
<!-- ... -->
</div>
For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.
Breakpoints and media queries
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:grid-cols-6
to apply the grid-cols-6
utility at only medium screen sizes and above.
<div class="grid grid-cols-1 md:grid-cols-6">
<!-- ... -->
</div>
To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.
Using custom values
Customizing your theme
By default, Tailwind includes grid-template-column
utilities for creating basic grids with up to 12 equal width columns. You can customize these values by editing theme.gridTemplateColumns
or theme.extend.gridTemplateColumns
in your tailwind.config.js
file.
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.
Arbitrary values
If you need to use a one-off grid-template-columns
value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.
<div class="grid grid-cols-[200px_minmax(900px,_1fr)_100px]">
<!-- ... -->
</div>
Learn more about arbitrary value support in the arbitrary values documentation.