Columns Property

Last updated: 2026-09-13

columns Columns Property

The columns property is the shorthand for column-count and column-width, splitting an element's content into multiple columns automatically, similar to newspaper typography. It is often used to present long text in several columns for better readability.

Category
Initial Valueauto
InheritedNo
Applies To
Animation Type
CSS VersionCSS3
StatusStandard

📝 Syntax

columns: auto | <integer> || auto | <length>;

⚙️ Values

ValueTypeDescription
autoKeywordCompute the column count automatically.
<integer>TypeA fixed number of columns.
<length>TypeA fixed column width.

▶ Example

Edit the code below and see the live result in the playground:

🌐 Browser Support

Browser ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
columns v57 v12 v52 v10.1 v44
Supported in all major browsers
Tip: columns is the shorthand for column-count and column-width; if only one value is written, the browser infers from its type whether it is a column count or a column width.
Warning: Multi-column layouts need a definite height or enough content to show the column split; otherwise the content may still render in a single column.

❓ FAQ

QWhat's the difference between columns and Flexbox for multi-column layouts?
Acolumns, the CSS Multi-column Layout, lets content flow automatically from one column into the next, like a newspaper; a single block of text is split across columns while reading order stays continuous. Flexbox, by contrast, makes each child a column of its own with no content flow between them. Use columns for flowing text and flex for laying out discrete child elements side by side.
QHow do I make a heading span all columns?
ASet column-span:all on the heading, and it spans across every column while the body text stays split below. This is the most common structure for multi-column articles: a full-width heading plus columned body text. Note that column-span accepts only none and all, so you cannot span a specific number of columns, and the heading must be a direct child of the multi-column container.
QHow should I understand the columns shorthand?
Acolumns is the shorthand for column-count and column-width. With a single value, the browser infers its meaning from the type: an integer such as columns:3 is a column count, and a length such as columns:200px is a column width. Both can be given together, for example columns: 200px 3 means roughly 200px columns with at most 3 of them, a complete multi-column setup in one line.
QWhat is the browser support for multi-column layouts?
AModern browsers support columns, column-count, column-gap, and column-rule well; Chrome, Edge, Firefox, and Safari all cover them. column-span:all needs newer versions, and in older browsers the layout falls back to a single column while content remains complete. That makes multi-column a safe progressive enhancement you can use without worries, since the worst case is a readable single-column fallback rather than a broken page.

📚 Related Tutorials

Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏