CSS-свойствоВ стандарте

CSS gap — синтаксис и примеры

CSS-свойство gap: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Назначение и границы

Назначение «gap» раскрывается через задачу «распределять свободное место и выравнивать элементы внутри контейнера». Задаёт промежутки между строками и столбцами сеточного или flex-контейнера. Для воспроизводимой проверки «gap» используйте пример на панели управления с асинхронным обновлением данных и наблюдайте поведение без пользовательской таблицы стилей.

Практическое правило для gap

Перед применением «gap» сформулируйте ожидаемое поведение, затем проверьте row-gap и column-gap при смене направления раскладки. Для «gap» такое сравнение показывает реальную причину изменения.

Синтаксис gap

Синтаксис «gap» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.

css
.demo {
  gap: 1rem;
}
Открыть в Playground

Как работает gap

Браузер обрабатывает «gap» в контексте области «Flexbox и Grid»: задаёт промежутки между строками и столбцами сеточного или flex-контейнера. Для «gap» наблюдения через поведение без пользовательской таблицы стилей и изменение DOM в панели Elements отделяют исходное условие от результата.

Проверка в проекте

  • Проверьте row-gap и column-gap при смене направления раскладки; результат относится непосредственно к «gap».
  • Сравнить результат с отключёнными стилями и сохранить логичный порядок содержимого при разборе «gap».
  • Проверьте «gap» на панели управления с асинхронным обновлением данных через поведение без пользовательской таблицы стилей и запишите наблюдаемое изменение.
Выбор конструкции

Оставляйте «gap» в решении только после проверки на панели управления с асинхронным обновлением данных. Если нативная конструкция решает задачу «gap» с меньшим числом условий, используйте её.

Практика с gap

Перенесите «gap» в тестовом шаблоне и испытайте его на панели управления с асинхронным обновлением данных. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «gap»: gap создаёт расстояние только между элементами, но не по краям контейнера.

Flexbox и Gridgap

Сценарий: на панели управления с асинхронным обновлением данных.

Ошибки при работе с gap

01

Устойчивость

Gap создаёт расстояние только между элементами, но не по краям контейнера — это предметный риск для «gap».

02

Доступность

Копирование свойства без необходимого родительского контекста при использовании «gap».

03

Каскад

Проверка только мышью и только на широком экране; для «gap» проверьте это отдельно.

Поддержка gap

Для «gap» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «gap»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 57Edgeс версии 16Firefoxс версии 52Safariс версии 10.1

Спецификация: источник 1.

Вопросы о gap

Как понять, что «gap» выбрано правильно?

«gap» выбрано правильно, когда оно решает задачу «распределять свободное место и выравнивать элементы внутри контейнера», сохраняет результат на панели управления с асинхронным обновлением данных и проходит предметную проверку: проверьте row-gap и column-gap при смене направления раскладки.

Нужен ли запасной вариант для «gap»?

Запасной вариант для «gap» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «gap» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.