Utilities for specifying the columns in a grid layout.
<div class="grid grid-cols-3 gap-4">
<div>1</div>
<!-- ... -->
<div>9</div>
</div>
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.
<div class="grid grid-cols-1 md:grid-cols-6">
<!-- ... -->
</div>
For more information about Tailwind's responsive design features, check out the Responsive Design documentation.
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.
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: {
extend: {
// ...
+ gridTemplateColumns: ['hover', 'focus'],
}
}
}
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,
}
}