Flexbox & Grid
Utilities for specifying the rows in a grid layout.
Use the grid-rows-*
utilities to create grids with n equally sized rows.
<div class="grid grid-rows-4 grid-flow-col gap-4">
<div>01</div>
<!-- ... -->
<div>09</div>
</div>
Use the grid-rows-subgrid
utility to adopt the row tracks defined by the item’s parent.
<div class="grid grid-rows-4 grid-flow-col gap-4">
<div>01</div>
<!-- ... -->
<div>05</div>
<div class="grid grid-rows-subgrid gap-4 row-span-3">
<div class="row-start-2">06</div>
</div>
<div>07</div>
<!-- ... -->
<div>10</div>
</div>
Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:grid-rows-6
to only apply the grid-rows-6
utility on hover.
<div class="grid grid-rows-2 hover:grid-rows-6">
<!-- ... -->
</div>
For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.
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-rows-6
to apply the grid-rows-6
utility at only medium screen sizes and above.
<div class="grid grid-rows-2 md:grid-rows-6">
<!-- ... -->
</div>
To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.
By default, Tailwind includes grid-template-row
utilities for creating basic grids with up to 12 equal width rows. You can customize these values by editing theme.gridTemplateRows
or theme.extend.gridTemplateRows
in your tailwind.config.js
file.
You have direct access to the grid-template-rows
CSS property here so you can make your custom rows values as generic or as complicated and site-specific as you like.
module.exports = {
theme: {
extend: {
gridTemplateRows: {
// Simple 16 row grid
'16': 'repeat(16, minmax(0, 1fr))',
// Complex site-specific row configuration
'layout': '200px minmax(900px, 1fr) 100px',
}
}
}
}
Learn more about customizing the default theme in the theme customization documentation.
If you need to use a one-off grid-template-rows
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-rows-[200px_minmax(900px,_1fr)_100px]">
<!-- ... -->
</div>
Learn more about arbitrary value support in the arbitrary values documentation.