column-gap (grid-column-gap)

Свойство CSS column-gap устанавливает промежуток (интервал (en-US)) между колонками.

Интерактивный пример

Изначально свойство появилось в многоколоночной раскладке. Позже оно перекочевало в другие методы раскладки, и теперь column-gap определено в спецификации Box Alignment. А значит может использоваться в многоколоночной, флексбокс- и грид-раскладках.

Синтаксис

/* Значение в виде ключевого слова */
column-gap: normal;

/* Значение типа <length> */
column-gap: 3px;
column-gap: 2.5em;

/* Значение типа <percentage> */
column-gap: 3%;

/* Глобальные значения */
column-gap: inherit;
column-gap: initial;
column-gap: revert;
column-gap: unset;

Свойство column-gap может быть задано одним из значений, перечисленных ниже.

Значений

normal

Между колонками используется стандартное расстояние, определённое браузером. В случае многоколоночной раскладки это будет 1em. Для всех остальных типов раскладки это значение равно нулю.

<length>

Размер промежутка между колонками, определяемое единицам измерения длины. Значение <length> должно быть положительным.

<percentage>

Размер промежутка между колонками, указанный в процентах. Значение <percentage> должно быть положительным.

Формальное определение

Начальное значениеnormal
Применяется кmulti-column elements, flex containers, grid containers
Наследуетсянет
Процентыотносятся к соответствующему размеру области содержимого
Обработка значенияas specified, with <length>s made absolute, and normal computing to zero except on multi-column elements
Animation typeдлина, проценты или calc();

Формальный синтаксис

Примеры

Флексбокс-раскладка

HTML

<div id="flexbox">
  <div></div>
  <div></div>
  <div></div>
</div>

CSS

#flexbox {
  display: flex;
  height: 100px;
  column-gap: 20px;
}

#flexbox > div {
  border: 1px solid green;
  background-color: lime;
  flex: auto;
}

Результат

Грид-раскладка

HTML

<div id="grid">
  <div></div>
  <div></div>
  <div></div>
</div>

CSS

#grid {
  display: grid;
  height: 100px;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 100px;
  column-gap: 20px;
}

#grid > div {
  border: 1px solid green;
  background-color: lime;
}

Результат

Многоколоночная раскладка

HTML

<p class="content-box">
  This is some multi-column text with a 40px column
  gap created with the CSS `column-gap` property.
  Don't you think that's fun and exciting? I sure do!
</p>

CSS

.content-box {
  column-count: 3;
  column-gap: 40px;
}

Результат

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

Specification
Unknown specification
# column-row-gap
Unknown specification
# gutters
Unknown specification
# column-gap

Поддержка браузерами

BCD tables only load in the browser

Смотрите также