The column-gap CSS property sets the size of the gap (gutter) between an element's columns.
Initially a part of Multi-column Layout, the definition of column-gap has been broadened to include multiple layout methods. Now specified in Box Alignment, it may be used in Multi-column, Flexible Box, and Grid layouts.
Note that grid-column-gap is an alias for this property.
Syntax
/* Keyword value */ column-gap: normal; /* <length> values */ column-gap: 3px; column-gap: 2.5em; /* <percentage> value */ column-gap: 3%; /* Global values */ column-gap: inherit; column-gap: initial; column-gap: revert; column-gap: revert-layer; column-gap: unset;
The column-gap property is specified as one of the values listed below.
Values
normal-
The browser's default spacing is used between columns. For multi-column layout this is specified as
1em. For all other layout types it is 0. <length>-
The size of the gap between columns, defined as a
<length>. The<length>property's value must be non-negative. <percentage>-
The size of the gap between columns, defined as a
<percentage>. The<percentage>property's value must be non-negative.
Formal definition
| Initial value | normal |
|---|---|
| Applies to | multi-column containers, flex containers, grid containers |
| Inherited | no |
| Computed value | specified keyword, else a computed <length-percentage> value |
| Animation type | by computed value type |
Formal syntax
normal | <length-percentage [0,∞]>
Examples
Flex layout
HTML
<div id="flexbox"> <div></div> <div></div> <div></div> </div>
CSS
#flexbox {
display: flex;
height: 100px;
column-gap: 20px;
}
#flexbox > div {
border: 1px solid green;
background-color: lime;
flex: auto;
}
Grid layout
HTML
<div id="grid"> <div></div> <div></div> <div></div> </div>
CSS
#grid {
display: grid;
height: 100px;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 100px;
column-gap: 20px;
}
#grid > div {
border: 1px solid green;
background-color: lime;
}
Multi-column layout
HTML
<p class="content-box"> This is some multi-column text with a 40px column gap created with the CSS `column-gap` property. Don't you think that's fun and exciting? I sure do! </p>
CSS
.content-box {
column-count: 3;
column-gap: 40px;
}
See also
- Related CSS properties:
row-gap,gap - Grid Layout Guide: Basic concepts of grid layout - Gutters
- Multi-column Layout Guide: Styling Columns