Columns

Utilities for controlling the number of columns within an element.

Quick reference

Class Properties
columns-1 columns: 1;
columns-2 columns: 2;
columns-3 columns: 3;
columns-4 columns: 4;
columns-5 columns: 5;
columns-6 columns: 6;
columns-7 columns: 7;
columns-8 columns: 8;
columns-9 columns: 9;
columns-10 columns: 10;
columns-11 columns: 11;
columns-12 columns: 12;
columns-auto columns: auto;
columns-3xs columns: 16rem; /* 256px */
columns-2xs columns: 18rem; /* 288px */
columns-xs columns: 20rem; /* 320px */
columns-sm columns: 24rem; /* 384px */
columns-md columns: 28rem; /* 448px */
columns-lg columns: 32rem; /* 512px */
columns-xl columns: 36rem; /* 576px */
columns-2xl columns: 42rem; /* 672px */
columns-3xl columns: 48rem; /* 768px */
columns-4xl columns: 56rem; /* 896px */
columns-5xl columns: 64rem; /* 1024px */
columns-6xl columns: 72rem; /* 1152px */
columns-7xl columns: 80rem; /* 1280px */

Basic usage

Adding based on column count

Use thecolumns-{count} utilities to set the number of columns that should be created for the content within an element. The column will be automatically adjusted to accommodate that number.

Columns - 图1

  1. <div >
  2. <img src="..." />
  3. <img src="..." />
  4. <!-- ... -->
  5. </div>

Adding based on column

Use thecolumns-{width} utilities to set the ideal column for the content within an element, with the number of columns (the count) automatically adjusting to accommodate that value.

This “t-shirt” scale is the same as the max-width scale, with the addition of2xs and3xs, since smaller columns may be desirable.

Resize the example to see the expected behaviour

Columns - 图2

  1. <div >
  2. <img src="..." />
  3. <img src="..." />
  4. <!-- ... -->
  5. </div>

Setting the column gap

To specify the between columns, you can use the gap-x utilities:

Columns - 图3

  1. <div >
  2. <img src="..." />
  3. <img src="..." />
  4. <!-- ... -->
  5. </div>

Applying conditionally

Hover, focus, and other states

Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, usehover:columns-3 to only apply thecolumns-3 utility on hover.

  1. <div >
  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, usemd:columns-3 to apply thecolumns-3 utility at only medium screen sizes and above.

  1. <div >
  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 provides a column count scale from1-12 as well as a column t-shirt scale from3xs-7xl. You can customize these values by editingtheme.columns ortheme.extend.columns in yourtailwind.config.js file.

tailwind.config.js

  1. module.exports = {
  2. theme: {
  3. extend: {
  4. columns: {
  5. '4xs': '14rem',
  6. }
  7. },
  8. }
  9. }

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

Arbitrary values

If you need to use a one-offcolumns 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 >
  2. <!-- ... -->
  3. </div>

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