gap
Свойство gap является сокращённым свойством и позволяет одновременно установить промежуток между строками и колонками элементов. Оно может применяться в следующих ситуациях:
- определяет расстояние между колонками текста в многоколоночном макете;
- задаёт промежуток между колонками или строками флекс-элементов;
- задаёт промежуток между колонками и строками грид-элементов.
В ранних версиях спецификации Grid Layout (вёрстка с помощью гридов) это свойство называлось grid-gap. Для совместимости браузеры продолжают поддерживать это свойство как псевдоним gap.
Краткая информация
Значение по умолчанию | normal normal |
---|---|
Наследуется | Нет |
Применяется | К многоколоночным элементам, флекс-контейнерам, грид-контейнерам |
Анимируется | Да |
Синтаксис
gap: row-gap column-gap?
Значения
См. соответствующие свойства.
Песочница
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 |