The column-width property sets the ideal width of each column — the browser then fits as many columns as the container allows.
01
Column Width
Target column size.
02
Auto Flow
Browser picks count.
03
Default auto
Browser decides.
04
Length Units
px, em, rem, ch.
05
Responsive
Adapts to space.
06
Readability
Comfortable lines.
Fundamentals
Definition and Usage
The column-width CSS property specifies the optimal width of columns in a multi-column layout. It lets you control column width while the browser determines how many columns fit the available space — a flexible way to create responsive, visually appealing layouts.
Unlike column-count, which fixes the number of columns, column-width focuses on readable line length. On a wide screen you may get three or four columns; on a narrow screen the layout may collapse to one or two.
💡
Beginner Tip
A common readable column width for body text is roughly 200px–350px or 30ch–45ch. Pair column-width with column-gap for spacing between columns.
Foundation
📝 Syntax
The syntax for column-width accepts a length value or auto:
syntax.css
selector{column-width:value;}
Basic Example
column-width-200px.css
.columns{column-width:200px;}
Here, value can be any valid CSS length unit such as px, em, rem, or ch.
Syntax Rules
The initial value is auto — the browser chooses column width.
Browser creates as many columns as fit at the specified width.
Can be combined with column-count to cap the maximum number of columns.
Works with column-gap, column-rule, and column-span.
Part of the columns shorthand: columns: 200px 3; (width and count).
Cheat Sheet
⚡ Quick Reference
Question
Answer
Initial value
auto
Applies to
Multi-column containers
Inherited
No
Animatable
No
Common use
Responsive newspaper-style text columns (~200px–300px)
Reference
💎 Property Values
The column-width property accepts length values and auto.
Value
Description
length
Specifies the width of the columns. This can be in units such as px, em, rem, ch, etc.
auto
The browser will determine the column width based on the content and other properties.
Compare
column-width vs column-count
Property
Behavior
Best for
column-width
Sets target column width; browser picks how many fit
Responsive layouts that adapt to container size
column-count
Fixes the exact number of columns
Layouts that always need a specific column count
Both together
Width is a minimum; count is a maximum
Readable columns with an upper limit (e.g. never more than 3)
Preview
👀 Live Preview
Same container width with different column-width values — narrower widths produce more columns.
150px
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
200px
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
250px
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Hands-On
Examples Gallery
Try 200px columns, rem-based readable width, column gap spacing, and a width + count combo.
📐 Fixed Column Widths
Start with the reference example — 200px column width on a multi-column text block.
Example 1 — 200px Column Width
Set the column width of a multi-column layout to 200 pixels.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
How It Works
Rem units keep column width proportional to the user’s base font size, improving readability when text is zoomed.
🛠 Layout Combinations
Combine column-width with gap and count for polished multi-column layouts.
Example 3 — Column Width with Gap
Add column-gap for clear spacing between auto-flowed columns.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
How It Works
Gap and rule properties work alongside auto-flowed column widths for a clean magazine-style layout.
Example 4 — Column Width + Column Count
Set a minimum width and cap the maximum number of columns at three.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore.
How It Works
When both are set, column-width is the minimum and column-count is the maximum — you get responsive columns without too many on ultra-wide screens.
🧠 How column-width Works
1
Container has content
A block element holds paragraphs or other flow content.
Prerequisite
2
You set column-width
Choose a target width like 200px or 18rem.
CSS rule
3
Browser calculates columns
As many columns as fit at that width are created automatically.
Rendering
=
📰
Responsive column layout
Column count adapts as the viewport or container resizes.
Compatibility
Modern Browser Support
The column-width property is supported in most modern browsers, including Chrome, Firefox, Safari, Edge, and Opera.
✓ Baseline · Modern browsers
Column widths everywhere
All major browsers support column-width as part of the Multi-column Layout module.
97%Modern browser support
Google Chrome50+ · Desktop & Mobile
Full support
Mozilla Firefox52+ · Desktop & Mobile
Full support
Apple Safari9+ · macOS & iOS
Full support
Microsoft Edge12+ · All versions
Full support
Opera37+ · Modern versions
Full support
column-width property97% supported
Bottom line: Use column-width freely for responsive multi-column text. Test combined width + count behavior on wide screens.
Wrap Up
Conclusion
The column-width property is a useful tool for creating responsive and aesthetically pleasing multi-column layouts. By controlling the width of the columns, you can ensure a consistent and visually appealing design across different screen sizes and devices.
Experiment with different values to see how this property can enhance the layout of your web projects.
Use 200px–350px or 30ch–45ch for readable body text columns
Pair with column-gap for comfortable spacing
Combine with column-count to cap columns on wide screens
Prefer rem or ch for accessible, scalable widths
Test layout at different viewport sizes
❌ Don’t
Set column width too narrow — lines become hard to read
Expect a fixed column count with width alone — use column-count too
Use column-width for grid-like precise layouts — use CSS Grid instead
Forget gap spacing on dense multi-column text
Rely on very small px widths on mobile without testing
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about column-width
Use these points when sizing responsive columns.
5
Core concepts
📐01
Target width
Ideal column size.
Purpose
⚙02
Default auto
Browser decides.
Default
🖌03
Auto columns
Count adapts.
Behavior
📐04
Length units
px, em, rem.
Values
🛸05
Responsive
Fluid layouts.
Use case
❓ Frequently Asked Questions
column-width sets the optimal width of columns in a multi-column layout. The browser creates as many columns as fit in the container at that width, making layouts responsive without a fixed column count.
The initial value is auto, which means the browser determines column width based on available space and other column-related properties.
column-count fixes the number of columns. column-width sets each column's target width and lets the browser decide how many columns fit. You can combine both to cap columns while setting a minimum width.
Any valid CSS length unit such as px, em, rem, and ch. The value auto lets the browser choose the width.
Yes. As the container grows or shrinks, the browser adds or removes columns to maintain the specified column width, which is ideal for fluid layouts.