Flexbox & Grid

Grid Template Rows

Utilities for specifying the rows in a grid layout.

Quick reference

Class
Properties
grid-rows-1grid-template-rows: repeat(1, minmax(0, 1fr));
grid-rows-2grid-template-rows: repeat(2, minmax(0, 1fr));
grid-rows-3grid-template-rows: repeat(3, minmax(0, 1fr));
grid-rows-4grid-template-rows: repeat(4, minmax(0, 1fr));
grid-rows-5grid-template-rows: repeat(5, minmax(0, 1fr));
grid-rows-6grid-template-rows: repeat(6, minmax(0, 1fr));
grid-rows-nonegrid-template-rows: none;

Basic usage

Specifying the rows in a grid

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

Grid Template Rows - 图1

  1. <div class="grid grid-rows-4 grid-flow-col gap-4">
  2. <div>01</div>
  3. <!-- ... -->
  4. <div>09</div>
  5. </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-rows-6 to only apply the grid-rows-6 utility on hover.

  1. <div class="grid grid-rows-2 hover:grid-rows-6">
  2. <!-- ... -->
  3. </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-rows-6 to apply the grid-rows-6 utility at only medium screen sizes and above.

  1. <div class="grid grid-rows-2 md:grid-rows-6">
  2. <!-- ... -->
  3. </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-row utilities for creating basic grids with up to 6 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.

tailwind.config.js

  1. module.exports = { theme: { extend: { gridTemplateRows: { // Simple 8 row grid '8': 'repeat(8, minmax(0, 1fr))',
  2. // Complex site-specific row configuration 'layout': '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-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.

  1. <div class="grid-rows-[200px_minmax(900px,_1fr)_100px]">
  2. <!-- ... -->
  3. </div>

Learn more about arbitrary value support in the arbitrary values documentation.