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 |
|---|---|
| Применяется к | контейнерам сетки |
| Унаследованное | нет |
| Вычисленное значение | как указано |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
Установка автоматического размещения сетки
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;
}
Результат
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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