CSS3 Multiple Columns

In traditional print media, text is often displayed in multiple columns to improve readability. With CSS3, the latest version of Cascading Style Sheets, you can easily create multiple column layouts for text content on the web. In this tutorial, we will guide you through the process of working with multiple columns in CSS3.

Understanding CSS3 Multiple Column Properties

CSS3 introduces a number of new properties for working with multiple columns:

  • column-count: Specifies the number of columns an element should be divided into.
  • column-gap: Specifies the gap between the columns.
  • column-rule: A shorthand property for setting column-rule-width, column-rule-style, and column-rule-color between columns.
  • column-width: Describes the optimal width of the columns.

Creating a Multiple Column Layout

Let’s create a simple multiple column layout for a block of text. We’ll use the column-count and column-gap properties:

div {
  column-count: 3;
  column-gap: 20px;

In this example, the text inside the div element will be divided into three columns, with a gap of 20 pixels between each column.

Adding a Rule Between Columns

You can add a rule (a line) between columns using the column-rule property. Here’s an example:

div {
  column-count: 3;
  column-gap: 20px;
  column-rule: 1px solid black;

In this example, a black line with a width of 1 pixel will be displayed between the columns.

Controlling Column Width

The column-width property allows you to control the optimal width of the columns. The browser will balance the number of columns based on this width. Here’s an example:

div {
  column-width: 100px;
  column-gap: 20px;

In this example, the browser will create as many 100-pixel columns as can fit in the div element, with a gap of 20 pixels between each column.


CSS3 introduces a wide range of features that give developers more control over the layout of text content. By understanding these features and how to use them, you can create more engaging and readable web experiences. Remember to always provide fallbacks for older browsers that may not support these properties, and consider using a CSS preprocessor like Sass or Less to make your CSS more maintainable. Happy coding!


Table of Contents

Related posts