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.
<div >
<img src="..." />
<img src="..." />
<!-- ... -->
</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
<div >
<img src="..." />
<img src="..." />
<!-- ... -->
</div>
Setting the column gap
To specify the between columns, you can use the gap-x utilities:
<div >
<img src="..." />
<img src="..." />
<!-- ... -->
</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.
<div >
<!-- ... -->
</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.
<div >
<!-- ... -->
</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
module.exports = {
theme: {
extend: {
columns: {
'4xs': '14rem',
}
},
}
}
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.
<div >
<!-- ... -->
</div>
Learn more about arbitrary value support in the arbitrary values documentation.