The column-gap
CSS property sets the size of the gap (gutter) between an element's columns.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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.
CSS Grid Layout initially defined the grid-column-gap
property. This prefixed property is being replaced by column-gap
. However, in order to support browsers that implemented grid-column-gap
and not column-gap
for grid, you will need to use the prefixed 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: 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 elements, flex containers, grid containers |
Inherited | no |
Percentages | refer to corresponding dimension of the content area |
Computed value | as specified, with <length>s made absolute, and normal computing to zero except on multi-column elements |
Animation type | a length, percentage or calc(); |
Formal syntax
normal | <length-percentage>where
<length-percentage> = <length> | <percentage>
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; }
Result
Grid layout
HTML
<div id="grid"> <div></div> <div></div> <div></div> </div>
CSS
#grid { grid-column-gap: 20px; }
#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; }
Result
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; }
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Box Alignment Module Level 3 The definition of 'column-gap' in that specification. |
Working Draft | Applies to grid and flexbox |
CSS Grid Layout The definition of 'column-gap' in that specification. |
Candidate Recommendation | Specifies how this property affects grid layouts |
CSS Multi-column Layout Module The definition of 'column-gap' in that specification. |
Working Draft | Initial definition |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Support in Flex layout
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Supported in Flex Layout | Chrome Full support 84 | Edge Full support 84 | Firefox Full support 63 | IE No support No | Opera Full support 70 | Safari
Full support
3
| WebView Android Full support 84 | Chrome Android Full support 84 | Firefox Android Full support 63 | Opera Android No support No | Safari iOS
Full support
2
| Samsung Internet Android No support No |
Legend
- Full support
- Full support
- No support
- No support
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.
Support in Grid layout
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Supported in Grid Layout | Chrome
Full support
66
| Edge
Full support
16
| Firefox
Full support
61
| IE No support No | Opera
Full support
53
| Safari
Full support
10.1
| WebView Android
Full support
66
| Chrome Android
Full support
66
| Firefox Android
Full support
61
| Opera Android
Full support
47
| Safari iOS
Full support
10.3
| Samsung Internet Android
Full support
9.0
|
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.
- Uses a non-standard name.
- Uses a non-standard name.
Support in Multi-column layout
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Supported in Multi-column Layout | Chrome
Full support
50
| Edge
Full support
12
| Firefox
Full support
52
| IE Full support 10 | Opera
Full support
37
| Safari
Full support
10
| WebView Android
Full support
50
| Chrome Android
Full support
50
| Firefox Android
Full support
52
| Opera Android
Full support
37
| Safari iOS
Full support
10
| Samsung Internet Android
Full support
5.0
|
calc() values | Chrome Full support 66 | Edge Full support 16 | Firefox Full support 61 | IE No support No | Opera Full support 53 | Safari No support No | WebView Android Full support 66 | Chrome Android Full support 66 | Firefox Android Full support 61 | Opera Android Full support 47 | Safari iOS No support No | Samsung Internet Android Full support 9.0 |
<percentage> values | Chrome Full support 66 | Edge Full support 16 | Firefox Full support 61 | IE No support No | Opera Full support 53 | Safari No support No | WebView Android Full support 66 | Chrome Android Full support 66 | Firefox Android Full support 61 | Opera Android Full support 47 | Safari iOS No support No | Samsung Internet Android Full support 9.0 |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.
- See implementation notes.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.
See also
- Related CSS properties:
row-gap
,gap
- Grid Layout Guide: Basic concepts of grid layout - Gutters
- Multi-column Layout Guide: Styling Columns