gap (grid-gap)
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since окÑÑбÑÑ 2017 г..
СвойÑÑво gap CSS задаÑÑ Ð¾ÑÑÑÑÐ¿Ñ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°Ð¼Ð¸ и ÑÑдами. ЯвлÑеÑÑÑ ÑокÑаÑением Ð´Ð»Ñ ÑвойÑÑв row-gap и column-gap.
ÐнÑеÑакÑивнÑй пÑимеÑ
gap: 0;
gap: 10%;
gap: 1em;
gap: 10px 20px;
gap: calc(20px + 10%);
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-template-columns: 1fr 1fr;
width: 200px;
}
#example-element > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
ÐбÑаÑиÑе внимание, ÑÑо grid-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;
СвойÑÑво задаÑÑ Ð·Ð½Ð°Ñение Ð´Ð»Ñ <'row-gap'>, за коÑоÑÑм Ð¼Ð¾Ð¶ÐµÑ ÑледоваÑÑ Ð·Ð½Ð°Ñение Ð´Ð»Ñ <'column-gap'>. ÐÑли <'column-gap'> опÑÑено, Ñо оно ÑÑÑанавливаеÑÑÑ Ð² Ñо же знаÑение, ÑÑо и <'row-gap'>.
<'row-gap'> и <'column-gap'> могÑÑ Ð±ÑÑÑ Ð·Ð°Ð´Ð°Ð½Ñ ÐºÐ°Ðº <length>, Ñак и <percentage>.
ÐнаÑениÑ
<length>-
Ð Ð°Ð·Ð¼ÐµÑ Ð¾ÑÑÑÑпа, ÑазделÑÑÑего линии ÑеÑки.
<percentage>-
Ð Ð°Ð·Ð¼ÐµÑ Ð¾ÑÑÑÑпа, ÑазделÑÑÑего линии ÑеÑки, оÑноÑиÑелÑно ÑазмеÑа гÑид-ÑлеменÑа.
ФоÑмалÑное опÑеделение
| ÐаÑалÑное знаÑение | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
|---|---|
| ÐÑименÑеÑÑÑ Ðº | multi-column elements, flex containers, grid containers |
| ÐаÑледÑеÑÑÑ | Ð½ÐµÑ |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
| Animation type | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
ФоÑмалÑнÑй ÑинÑакÑиÑ
gap =
<'row-gap'> <'column-gap'>?
<row-gap> =
normal |
<length-percentage [0,â]> |
<line-width>
<column-gap> =
normal |
<length-percentage [0,â]> |
<line-width>
<length-percentage> =
<length> |
<percentage>
<line-width> =
<length [0,â]> |
hairline |
thin |
medium |
thick
ÐÑимеÑÑ
>ФлекÑбокÑ-ÑаÑкладка
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;
}
РезÑлÑÑаÑ
ÐÑид-ÑаÑкладка
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;
}
РезÑлÑÑаÑ
ÐногоколоноÑÐ½Ð°Ñ ÑаÑкладка
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;
}
РезÑлÑÑаÑ
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Box Alignment Module Level 3> # gap-shorthand> |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже
- ÐоÑ
ожие CSS-ÑвойÑÑва:
row-gap,column-gap - Ð ÑководÑÑво по гÑид-ÑаÑкладке: ÐÑÐ½Ð¾Ð²Ñ Ð³Ñид-ÑаÑкладки - ÐÑÑÑÑпÑ