CSS Multi-column Layout

CSS Multi-column Layout is a module of CSS that adds support for multi-column layouts. Support is included for establishing the number of columns in a layout, as well as how content should flow from column to column, gap sizes between columns, and column dividing lines (known as column rules) along with their appearance.

Basic example

In the following example, the column-count property has been applied to the <div> element with the class container. As the value of column-count is 3, the content is arranged into three columns of the same size.

Relationship to fragmentation

Multiple-column layout is closely related to Paged Media, in that each column box becomes a fragment, much like a printed page becomes a fragment of an overall document. Therefore, the properties now defined in the CSS Fragmentation specification are required to control how content breaks between columns.


Properties for multi-column layout


Basic concepts of multi-column layout

An overview of the Multiple-column Layout specification

Styling columns

How to use column rules and manage the spacing between columns.

Spanning and balancing

How to make elements span across all columns and controlling the way columns are filled.

Handling overflow in multi-column layout

What happens when an item overflows the column it is in and what happens when there is too much columned content to fit a container.

Handling content breaks in multi-column layout

Introduction to the Fragmentation specification and how to control where column content breaks.


CSS Multi-column Layout Module Level 1

See also

Other CSS layout technologies include: