Spec-Zone.ru › CSS

grid-auto-flow

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с октября 2017 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство grid-auto-flow CSS управляет тем, как работает алгоритм автоматического размещения, точно определяя, как автоматически размещаемые элементы размещаются в сетке.

Попробовать

Примечание: Свойство masonry-auto-flow было удалено из CSS макет с выравниванием по камням в пользу grid-auto-flow. Подробности см. в csswg-drafts #10231.

Синтаксис

/* Keyword values */
grid-auto-flow: row;
grid-auto-flow: column;
grid-auto-flow: dense;
grid-auto-flow: row dense;
grid-auto-flow: column dense;

/* Global values */
grid-auto-flow: inherit;
grid-auto-flow: initial;
grid-auto-flow: revert;
grid-auto-flow: revert-layer;
grid-auto-flow: unset;

Это свойство может иметь одну из двух форм:

  • единственное ключевое слово: одно из row, column, или dense.
  • два ключевых слова: row dense или column dense.

Значения

row

Элементы размещаются, заполняя каждую строку по очереди, добавляя новые строки по мере необходимости. Если ни row , ни column не указаны, предполагается row.

column

Элементы размещаются, заполняя каждый столбец по очереди, добавляя новые столбцы по мере необходимости.

dense

Алгоритм «плотного» размещения пытается заполнить пробелы в сетке ранее, если более мелкие элементы появляются позже. Это может привести к тому, что элементы будут расположены не в порядке, если это позволит заполнить пробелы, оставленные большими элементами.

Если он опущен, используется алгоритм «разреженный», где алгоритм размещения перемещается только «вперед» в сетке при размещении элементов, никогда не возвращаясь назад для заполнения пробелов. Это гарантирует, что все автоматически размещенные элементы появятся «в порядке», даже если это оставит пробелы, которые могли бы быть заполнены более поздними элементами.

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

Начальное значение row
Применяется к контейнерам сетки
Унаследованное нет
Вычисленное значение как указано
Тип анимации дискретный

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

grid-auto-flow = 
[ row | column ] ||
dense

Примеры

Установка автоматического размещения сетки

HTML

<div id="grid">
  <div id="item1"></div>
  <div id="item2"></div>
  <div id="item3"></div>
  <div id="item4"></div>
  <div id="item5"></div>
</div>
<select id="direction">
  <option value="column">column</option>
  <option value="row">row</option>
</select>
<input id="dense" type="checkbox" />
<label for="dense">dense</label>

CSS

#grid {
  height: 200px;
  width: 200px;
  display: grid;
  gap: 10px;
  grid-template: repeat(4, 1fr) / repeat(2, 1fr);
  grid-auto-flow: column; /* or 'row', 'row dense', 'column dense' */
}

#item1 {
  background-color: lime;
  grid-row-start: 3;
}

#item2 {
  background-color: yellow;
}

#item3 {
  background-color: blue;
}

#item4 {
  grid-column-start: 2;
  background-color: red;
}

#item5 {
  background-color: aqua;
}

Результат

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

Спецификация
CSS Grid Layout Module Level 2
# grid-auto-flow-property

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
grid-auto-flow 57 16 52 44 10.1 57 52 43 10.3 6.0 57
column 57 79 52 44 10.1 57 52 43 10.3 7.0 57
dense 57 79 52 44 10.1 57 52 43 10.3 7.0 57
row 57 79 52 44 10.1 57 52 43 10.3 7.0 57

См. также

  • grid-auto-rows
  • grid-auto-columns
  • grid
  • Автоматическое размещение в макете сетки
  • Видео: Знакомство с автоматическим размещением и порядком сетки

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API