gap

Свойство gap является сокращённым свойством и позволяет одновременно установить промежуток между строками и колонками элементов. Оно может применяться в следующих ситуациях:

  • определяет расстояние между колонками текста в многоколоночном макете;
  • задаёт промежуток между колонками или строками флекс-элементов;
  • задаёт промежуток между колонками и строками грид-элементов.

В ранних версиях спецификации Grid Layout (вёрстка с помощью гридов) это свойство называлось grid-gap. Для совместимости браузеры продолжают поддерживать это свойство как псевдоним gap.

Краткая информация

Значение по умолчанию normal normal
Наследуется Нет
Применяется К многоколоночным элементам, флекс-контейнерам, грид-контейнерам
Анимируется Да

Синтаксис

gap: row-gap column-gap?

Значения

См. соответствующие свойства.

Песочница

1
2
3
div {
  display: flex;
  gap: 0%;
}

Пример

Код примера скопирован в буфер
<!DOCTYPE html>
<html lang="ru">
 <head>
  <meta charset="utf-8">
  <title>gap</title>
  <style>
   .container { 
    display: flex; /* Флекс-контейнер */
    gap: 1em; /* Расстояние между блоками */
    flex-direction: row; /* Блоки располагаются горизонтально */
   }
   .column {
    text-align: center; /* Текст по центру */
    padding: 1rem; /* Расстояние от текста до края */
   }
   .content { 
    flex-basis: 70%; /* Ширина левой колонки */
    background: #8ea3ae; /* Цвет фона */
   }
   .sidebar {
    flex-basis: 30%; /* Ширина правой колонки */
    background: #f8db94; /* Цвет фона */
   }
   @media (max-width: 600px) { 
    .container { 
     flex-direction: column; /* Блоки располагаются вертикально */
    } 
    .content, .sidebar { 
     flex-basis: 100%; /* Блоки занимают всю ширину */
    } 
   }
  </style>
 </head>
 <body> 
  <div class="container"> 
   <div class="column content">Основное содержимое</div> 
   <div class="column sidebar">Боковая панель</div> 
  </div>
 </body>
</html>

В данном примере при уменьшении ширины окна браузера до 600 пикселей блоки будут выстраиваться вертикально (рис. 1), а при увеличении ширины окна блоки будут выстраиваться горизонтально. Свойство gap устанавливает, в зависимости от положения блоков, горизонтальный или вертикальный интервал между блоками.

Интервал между элементами

Рис. 1. Интервал между элементами

Объектная модель

Объект.style.gap

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

CSS Box Alignment Module Level 3

Браузеры

Многоколоночная вёрстка 16 66 53 14.1 61
Вёрстка с помощью флексов 84 84 70 14.1 63
Вёрстка с помощью гридов 16 57 66 44 53 10.1 12 52 61
Многоколоночная вёрстка 50 52 37 10
Вёрстка с помощью флексов 84 63 60 14.5
Вёрстка с помощью гридов 66 61 47 12