The gap CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for row-gap and column-gap.
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.
Syntax
/* 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: 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>.
Values
<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.
Formal definition
| 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:
|
Formal syntax
<'row-gap'> <'column-gap'>?
Examples
Flex layout
HTML
<div id="flexbox"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
CSS
#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;
}
Result
Grid layout
HTML
<div id="grid"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
CSS
#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;
}
Result
Multi-column layout
HTML
<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>
CSS
.content-box {
column-count: 3;
gap: 40px;
}
Result
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Box Alignment Module Level 3The definition of 'gap' in that specification. | Working Draft | Initial definition |
Browser compatibility
The compatibility table on 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
Update compatibility data on GitHub
| 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
No support No |
WebView Android
Full support 84 |
Chrome Android
Full support 84 |
Firefox Android
Full support 63 |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No |
Legend
- Full support
- Full support
- No support
- No support
Support in Grid layout
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Supported in Grid Layout |
Chrome Full support 66 Full support 66 Full support 57 Alternate Name' Uses the non-standard name: Alternate Name' Uses the non-standard name: |
Edge Full support 16 Full support 16 Full support 16 Alternate Name' Uses the non-standard name: |
Firefox Full support 61 Full support 61 Full support 52 Alternate Name' Uses the non-standard name: Alternate Name' Uses the non-standard name: |
IE
No support No |
Opera Full support 53 Full support 53 Full support 44 Alternate Name' Uses the non-standard name: Alternate Name' Uses the non-standard name: |
Safari Full support 10.1 Full support 10.1 Alternate Name' Uses the non-standard name: |
WebView Android Full support 66 Full support 66 Full support 57 Alternate Name' Uses the non-standard name: |
Chrome Android Full support 66 Full support 66 Full support 57 Alternate Name' Uses the non-standard name: Alternate Name' Uses the non-standard name: |
Firefox Android Full support 61 Full support 61 Full support 52 Alternate Name' Uses the non-standard name: Alternate Name' Uses the non-standard name: |
Opera Android Full support 47 Full support 47 Full support 43 Alternate Name' Uses the non-standard name: Alternate Name' Uses the non-standard name: |
Safari iOS Full support 10.3 Full support 10.3 Alternate Name' Uses the non-standard name: |
Samsung Internet Android Full support 9.0 Full support 9.0 Full support 7.0 Alternate Name' Uses the non-standard name: |
calc() values
|
Chrome
Full support 66 |
Edge
Full support 16 |
Firefox
Full support 52 |
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 52 |
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 52 |
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 52 |
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
- 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
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Supported in Multi-column Layout | 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 also
- Related CSS properties:
row-gap,column-gap - Grid Layout Guide: Basic concepts of grid layout - Gutters
gap (grid-gap) by Mozilla Contributors is licensed under CC-BY-SA 2.5.