Свойство

gap

Baseline: широко доступно

Задаёт промежутки между элементами флекс- и грид-контейнера и между колонками текста — только между ними, без лишних отступов по краям.

Пример

Промежутки в сетке
HTML
<div class="grid">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
</div>
CSS
.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).

CSS
gap: 1rem; /* и между строками, и между колонками */
gap: 1rem 2rem; /* строки | колонки */

Значения

normal
Во флексе и сетке — ноль, в многоколоночной вёрстке — 1em. Значение по умолчанию.
Длина
Промежуток в любых единицах: 16px, 1rem.
Процент
Процент от размера контейнера по соответствующей оси.

Как понять

До gap расстояние между элементами делали внешними отступами каждого элемента, а потом убирали лишний отступ у первого или последнего — через :last-child или отрицательный margin контейнера. gap рисует промежуток только между соседями, поэтому ничего убирать не нужно, и при переносе строк промежутки остаются ровными.

Промежуток — это пустое место, а не элемент: у него нет фона и рамки. Если нужна линия между колонками текста, для многоколоночной вёрстки есть column-rule.

Примеры

Флекс с переносом

Промежутки одинаковые и по горизонтали, и между перенесёнными строками:

Теги с gap
HTML
<ul class="tags">
  <li>css</li>
  <li>flexbox</li>
  <li>grid</li>
  <li>вёрстка</li>
  <li>адаптивность</li>
  <li>анимации</li>
</ul>
CSS
.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 задаёт расстояние между колонками:

Колонки текста
HTML
<p class="columns">
  Колонки делят текст как в газете. Промежуток между ними задаёт gap, а линию — column-rule. Текст
  перетекает из одной колонки в другую автоматически.
</p>
CSS
.columns {
  columns: 2;
  gap: 2rem;
  column-rule: 1px solid silver;
}

Результат

Подсказки

  • gap во флексе поддерживается всеми современными браузерами, но в очень старых версиях Safari (до 14.1) не работал. Если нужна их поддержка — используйте отступы.
  • Процентный gap в контейнере с высотой auto по вертикали может считаться как ноль — задавайте вертикальный промежуток в длинах.
  • Раньше свойство называлось grid-gap — старое имя работает как синоним, но в новом коде пишите 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

Примечания

  1. Chrome: С префиксом grid-gap — с версии 57.
  2. Edge: С префиксом grid-gap — с версии 16.
  3. Firefox: С префиксом grid-gap — с версии 52.
  4. Safari: С префиксом grid-gap — с версии 10.1.
  5. Chrome Android: С префиксом grid-gap — с версии 57.
  6. Safari iOS: С префиксом grid-gap — с версии 10.3.
  7. Samsung Internet: С префиксом grid-gap — с версии 7.0.
  8. Opera: С префиксом grid-gap — с версии 44.

Яндекс Браузер работает на Chromium и поддерживает то же, что Chrome той же версии. Данные: MDN browser-compat-data 8.1.2, обновлено 17 сентября 2026 г.

Спецификация

См. также

Поиск

Название свойства, селектора или функции — можно по-английски и без двоеточий: hover, gap, clamp.

Меню