The gap CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for row-gap and column-gap.
The gap CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for row-gap and column-gap.
/* One <length> value */ gap: 20px; gap: 1em; gap: 3vmin; gap: 0.5cm; /* One <percentage> value */ gap: 16%; gap: 100%; /* Two <length> values */ gap: 20px 10px; gap: 1em 0.5em; gap: 3vmin 2vmax; gap: 0.5cm 2mm; /* One or two <percentage> values */ gap: 16% 100%; gap: 21px 82%; /* calc() values */ gap: calc(10% + 20px); gap: calc(20px + 10%) calc(10% - 5px); /* Global values */ gap: inherit; gap: initial; gap: revert; gap: revert-layer; gap: unset;
This property is specified as a value for <'row-gap'> followed optionally by a value for <'column-gap'>. If <'column-gap'> is omitted, it's set to the same value as <'row-gap'>.
<'row-gap'> and <'column-gap'> are each specified as a <length> or a <percentage>.
<length>Is the width of the gutter separating the grid lines.
<percentage>Is the width of the gutter separating the grid lines, relative to the dimension of the element.
| Initial value | as each of the properties of the shorthand:
|
|---|---|
| Applies to | multi-column elements, flex containers, grid containers |
| Inherited | no |
| Computed value | as each of the properties of the shorthand:
|
| Animation type | as each of the properties of the shorthand:
|
gap =
<'row-gap'> <'column-gap'>?
<div id="flexbox"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
#flexbox { display: flex; flex-wrap: wrap; width: 300px; gap: 20px 5px; } #flexbox > div { border: 1px solid green; background-color: lime; flex: 1 1 auto; width: 100px; height: 50px; }
<div id="grid"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
#grid { display: grid; height: 200px; grid-template: repeat(3, 1fr) / repeat(3, 1fr); gap: 20px 5px; } #grid > div { border: 1px solid green; background-color: lime; }
<p class="content-box"> This is some multi-column text with a 40px column gap created with the CSS <code>gap</code> property. Don't you think that's fun and exciting? I sure do! </p>
.content-box { column-count: 3; gap: 40px; }
| Specification |
|---|
| CSS Box Alignment Module Level 3 # gap-shorthand |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
gap |
57 |
16 |
52 |
No |
44 |
10.1 |
57 |
57 |
52 |
43 |
10.3 |
7.0 |
flex_context |
84 |
84 |
63 |
No |
70 |
14.1 |
84 |
84 |
63 |
60 |
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
7.0
|
multicol_context |
66 |
16 |
61 |
No |
53 |
No |
66 |
66 |
61 |
47 |
No |
9.0 |
row-gap, column-gap