column-gap (grid-column-gap)
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.
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: 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 { 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
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
flex_context |
84 |
84 |
63 |
No |
70 |
14.1 |
84 |
84 |
63 |
No |
14.5 |
14.0 |
grid_context |
66
57
|
16
16
|
61
52
|
No |
53
44
|
12
10.1
|
66
57
|
66
57
|
61
52
|
47
43
|
12
10.3
|
9.0
6.0
|
multicol_context |
50
1
|
12
12
|
52
1.5-74
Before Firefox 3, the default value for the
normal keyword was 0 and not 1em . |
10 |
37
15
11.1-15
|
10
3
|
50
≤37
|
50
18
|
52
4
|
37
14
11.1-14
|
10
3
|
5.0
1.0
|
See also
- Related CSS properties:
row-gap
,gap
- Grid Layout Guide: Basic concepts of grid layout - Gutters
- Multi-column Layout Guide: Styling Columns
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap