Skip to content

`<multicol>` - Multiple Columns (Deprecated)

Deprecated Non-standard

The <multicol> element was an early Netscape Navigator extension that attempted to create multi-column text layouts directly in HTML. It predated CSS layout capabilities and was removed from browsers due to lack of standardization and the introduction of proper CSS multi-column properties.

The <multicol> element was introduced in Netscape Navigator 3.0 (1996) as a way to create newspaper-style column layouts. It was one of many proprietary HTML extensions created during the “browser wars” era. The element was never part of any HTML standard and was eventually deprecated in favor of CSS-based solutions.

<!-- This element no longer works -->
<multicol cols="3" gutter="20" width="200">
Content would flow into multiple columns here.
</multicol>

These attributes only worked in old Netscape browsers:

AttributeDescriptionValues
colsNumber of columnsPositive integer (e.g., 2, 3, 4)
gutterSpace between columns in pixelsPixel value without unit (e.g., 20)
widthWidth of each column in pixelsPixel value without unit (e.g., 200)
<!-- This will NOT work in modern browsers -->
<multicol cols="3" gutter="15" width="150">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.</p>
<p>Duis aute irure dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur.</p>
</multicol>

The <multicol> element was deprecated and removed for several reasons:

Non-standard: Only worked in Netscape Navigator. Never adopted by Internet Explorer, Opera, or other browsers, creating compatibility issues.

Limited functionality: Offered very basic column control compared to modern CSS capabilities. No support for column spanning, break control, or responsive design.

Separation of concerns: Mixed presentation (layout) with content (HTML), violating web standards principles that separate structure from styling.

CSS superseded it: The CSS Multi-column Layout Module provides far superior functionality with better browser support and more flexible control.

Security and maintenance: Proprietary browser features create security risks and maintenance burdens. Standards-based approaches are more secure and maintainable.

CSS Multi-column Layout provides powerful, standardized multi-column functionality that works across all modern browsers.

Result

The column-count property specifies the number of columns. Content flows automatically from one column to the next.

Result

The column-width property sets an optimal column width. The browser creates as many columns as will fit.

Result

Customize column appearance with:

column-gap: Space between columns

column-rule: Visual divider between columns (similar to border syntax)

column-span: Allow elements to span across all columns

Result

Use break-inside: avoid to prevent elements from breaking across columns. Other break properties:

break-before: Force a column break before an element

break-after: Force a column break after an element

break-inside: Control whether element can break across columns

Result

Using column-width instead of column-count creates responsive layouts that automatically adjust to available space.

For more complex layouts with different content in each column, CSS Grid provides better control:

Result

Converting from <multicol> to modern CSS:

<multicol cols="3" gutter="20" width="200">
<p>Your content here...</p>
</multicol>

CSS Multi-column Layout: Use when you have continuous text content that should flow naturally across columns (like newspaper articles, blog posts).

CSS Grid Layout: Use when you have distinct sections that need precise positioning or different content types in each column (like dashboards, card layouts).

.column-container {
/* Number of columns */
column-count: 3;
/* Optimal column width (auto columns) */
column-width: 250px;
/* Shorthand for count and width */
columns: 3 250px;
/* Space between columns */
column-gap: 20px;
/* Visual divider between columns */
column-rule: 1px solid #ccc;
column-rule-color: #3498db;
column-rule-style: solid;
column-rule-width: 2px;
/* Allow element to span columns */
column-span: all; /* or none */
/* Minimum column height */
column-fill: balance; /* or auto */
}
/* Control breaks within elements */
.avoid-break {
break-inside: avoid;
page-break-inside: avoid; /* Legacy support */
}

The <multicol> element was only supported in early Netscape browsers:

BrowserSupport PeriodNotes
Netscape Navigator3.0 - 4.x (1996-1998)Original implementation
Other browsersNever supportedIE, Opera, Safari never implemented it
Modern browsersNo supportCompletely removed from all browsers

CSS Multi-column Layout is well-supported in all modern browsers:

BrowserVersionNotes
Chrome50+Full support
Firefox52+Full support
Safari9+Full support
Edge12+Full support
IE10+Partial support (lacks break properties)

CSS Multi-column Layout Module Level 1

W3C Specification

The official W3C specification for CSS multi-column properties that replaced the non-standard <multicol> element.

Additional Resources

MDN CSS Columns Documentation

Can I Use: CSS Columns