Свойство
gap
Задаёт промежутки между элементами флекс- и грид-контейнера и между колонками текста — только между ними, без лишних отступов по краям.
Пример
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.5rem 1.5rem;
}
.grid div {
padding: 0.5rem;
border: 1px solid;
}Результат
Синтаксис
gap: <'row-gap'> <'column-gap'>?;- Начальное значение
- normal
- Применяется к
- флекс-контейнерам, грид-контейнерам и многоколоночным контейнерам
- Наследуется
- нет
- Анимируется
- как длина или процент
- Вычисляемое значение
- как у отдельных свойств row-gap и column-gap
Одно значение задаёт оба промежутка. Два значения — сначала между строками (row-gap), потом между колонками (column-gap).
gap: 1rem; /* и между строками, и между колонками */
gap: 1rem 2rem; /* строки | колонки */Значения
normal- Во флексе и сетке — ноль, в многоколоночной вёрстке —
1em. Значение по умолчанию. - Длина
- Промежуток в любых единицах:
16px,1rem. - Процент
- Процент от размера контейнера по соответствующей оси.
Как понять
До gap расстояние между элементами делали внешними отступами каждого элемента, а потом убирали лишний отступ у первого или последнего — через :last-child или отрицательный margin контейнера. gap рисует промежуток только между соседями, поэтому ничего убирать не нужно, и при переносе строк промежутки остаются ровными.
Промежуток — это пустое место, а не элемент: у него нет фона и рамки. Если нужна линия между колонками текста, для многоколоночной вёрстки есть column-rule.
Примеры
Флекс с переносом
Промежутки одинаковые и по горизонтали, и между перенесёнными строками:
<ul class="tags">
<li>css</li>
<li>flexbox</li>
<li>grid</li>
<li>вёрстка</li>
<li>адаптивность</li>
<li>анимации</li>
</ul>.tags {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
max-width: 16rem;
padding: 0;
list-style: none;
}
.tags li {
padding: 0.25rem 0.75rem;
background: #eef;
}Результат
Колонки текста
В многоколоночной вёрстке gap задаёт расстояние между колонками:
<p class="columns">
Колонки делят текст как в газете. Промежуток между ними задаёт gap, а линию — column-rule. Текст
перетекает из одной колонки в другую автоматически.
</p>.columns {
columns: 2;
gap: 2rem;
column-rule: 1px solid silver;
}Результат
Подсказки
gapво флексе поддерживается всеми современными браузерами, но в очень старых версиях Safari (до 14.1) не работал. Если нужна их поддержка — используйте отступы.- Процентный
gapв контейнере с высотойautoпо вертикали может считаться как ноль — задавайте вертикальный промежуток в длинах. - Раньше свойство называлось
grid-gap— старое имя работает как синоним, но в новом коде пишитеgap.
Поддержка браузерами
| Возможность | Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | Samsung Internet | Opera |
|---|---|---|---|---|---|---|---|---|
| gap | 57 | 16 | 52 | 10.1 | 57 | 10.3 | 7.0 | 44 |
| Во флекс-контейнере | 84 | 84 | 63 | 14.1 | 84 | 14.5 | 14.0 | 70 |
| В грид-контейнере | 66 1 | 16 2 | 61 3 | 12 4 | 66 5 | 12 6 | 9.0 7 | 53 8 |
| В многоколоночной вёрстке | 66 | 16 | 61 | 14.1 | 66 | 14.5 | 9.0 | 53 |
| normal | 57 | 16 | 52 | 10.1 | 57 | 10.3 | 7.0 | 44 |
Примечания
- Chrome: С префиксом grid-gap — с версии 57.
- Edge: С префиксом grid-gap — с версии 16.
- Firefox: С префиксом grid-gap — с версии 52.
- Safari: С префиксом grid-gap — с версии 10.1.
- Chrome Android: С префиксом grid-gap — с версии 57.
- Safari iOS: С префиксом grid-gap — с версии 10.3.
- Samsung Internet: С префиксом grid-gap — с версии 7.0.
- Opera: С префиксом grid-gap — с версии 44.
Яндекс Браузер работает на Chromium и поддерживает то же, что Chrome той же версии. Данные: MDN browser-compat-data 8.1.2, обновлено 17 сентября 2026 г.
Спецификация
См. также
- display Задаёт, каким блоком элемент становится снаружи и по каким правилам раскладывает своих потомков внутри — обычным потоком, флексом или сеткой.
- flex Задаёт, как флекс-элемент делит свободное место с соседями — растёт, сжимается и с какого размера начинает.
- grid-template-columns Задаёт колонки грид-контейнера — сколько их и какой они ширины.
- margin Задаёт внешние отступы — пустое пространство вокруг рамки элемента, которое отодвигает соседей.