grid-template-rows
Базовая линия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с октября 2017 года.
Попробовать
Синтаксис
/* Keyword value */ grid-template-rows: none; /* <track-list> values */ grid-template-rows: 100px 1fr; grid-template-rows: [line-name] 100px; grid-template-rows: [line-name1] 100px [line-name2 line-name3]; grid-template-rows: minmax(100px, 1fr); grid-template-rows: fit-content(40%); grid-template-rows: repeat(3, 200px); grid-template-rows: subgrid; grid-template-rows: masonry; /* <auto-track-list> values */ grid-template-rows: 200px repeat(auto-fill, 100px) 300px; grid-template-rows: minmax(100px, max-content) repeat(auto-fill, 200px) 20%; grid-template-rows: [line-name1] 100px [line-name2] repeat(auto-fit, [line-name3 line-name4] 300px) 100px; grid-template-rows: [line-name1 line-name2] 100px repeat(auto-fit, [line-name1] 300px) [line-name3]; /* Global values */ grid-template-rows: inherit; grid-template-rows: initial; grid-template-rows: revert; grid-template-rows: revert-layer; grid-template-rows: unset;
Это свойство может быть указано как:
- либо ключевое значение
none - либо значение
<track-list> - или значение
<auto-track-list>.
Значения
none-
Это ключевое слово, означающее, что явной сетки нет. Любые ряды будут неявно сгенерированы, а их размер будет определен свойством
grid-auto-rows. [line-name]-
<custom-ident>, определяющий имя линии в этом месте. Идентификатор может быть любой допустимой строкой, кроме зарезервированных словspanиauto. Линии могут иметь несколько имён, разделённых пробелом внутри квадратных скобок, например,[line-name-a line-name-b]. <length>-
Это положительная длина.
<percentage>-
Это положительное значение
<percentage>, относительное к размеру блока контейнера сетки. Если размер контейнера сетки зависит от размера его полос, то процентное значение должно рассматриваться какautoдля расчёта внутренней величины контейнера сетки. Затем оно должно быть решено относительно итогового размера контейнера сетки для выкладки сетки и её элементов. Внутренние размерные вклады полосы могут быть скорректированы до размера контейнера сетки и могут увеличить конечный размер полосы на минимальную величину, которая позволит соблюсти процентное значение. <flex>-
Это положительное измерение с единицей
fr, определяющее множитель гибкости полосы. Каждая полоса размера<flex>получает долю оставшегося пространства пропорционально своему множителю гибкости. При появлении вне обозначенияminmax()это подразумевает автоматический минимум (т.е.minmax(auto, <flex>)). max-content-
Ключевое слово, представляющее наибольший вклад максимального содержимого элементов сетки, занимающих полосу сетки.
min-content-
Ключевое слово, представляющее наибольший минимальный вклад содержимого элементов сетки, занимающих полосу сетки.
minmax(min, max)-
Функциональное обозначение, определяющее диапазон размеров, не меньше min и не больше max. Если max меньше min, то max игнорируется, и функция обрабатывается как min. В качестве максимума значение
<flex>задаёт множитель гибкости полосы. Оно недопустимо в качестве минимума. auto-
В качестве максимума представляет собой наибольший размер
max-contentэлементов в этой полосе.В качестве минимума представляет собой наибольший минимальный размер элементов в этой полосе (указанный
min-width/min-heightэлементов). Это часто, хотя и не всегда, размерmin-content.Если используется вне обозначения
minmax(),autoпредставляет диапазон между минимальным и максимальным размерами, описанными выше. Это ведёт себя аналогичноminmax(min-content,max-content)в большинстве случаев.Примечание: размеры полос
auto(и только размеры полосauto) могут быть растянуты свойствамиalign-contentиjustify-content. Поэтому по умолчанию полоса размераautoзаймёт любое оставшееся пространство в контейнере сетки. fit-content( [ <length> | <percentage> ] )-
Представляет формулу
min(max-content, max(auto, argument)), которая вычисляется аналогичноauto(т.е.minmax(auto, max-content)), за исключением того, что размер полосы ограничен значением argument, если он больше минимального значенияauto. repeat( [ <positive-integer> | auto-fill | auto-fit ] , <track-list> )-
Представляет повторяющийся фрагмент списка полос, позволяющий компактнее записать большое количество строк, обладающих повторяющимся шаблоном.
masonry-
Значение masonry указывает, что эта ось должна быть выложена в соответствии с алгоритмом masonry.
subgrid-
Значение
subgridуказывает, что сетка примет охватываемую часть родительской сетки по этой оси. Вместо явного указания размеры строк/столбцов сетки будут взяты из определения родительской сетки.
Формальное определение
| Начальное значение | none |
|---|---|
| Применимо к | контейнерам сетки |
| Унаследованное | нет |
| Проценты | относятся к соответствующему размеру области содержимого |
| Вычисленное значение | как указано, но с относительными длинами, преобразованными в абсолютные |
| Тип анимации | простой список длин, процентов или calc, при условии, что единственные различия находятся в значениях компонентов длины, процентов или calc в списке |
Формальный синтаксис
grid-template-rows =
none |
<track-list> |
<auto-track-list> |
subgrid <line-name-list>?
<track-list> =
[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?
<auto-track-list> =
[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat> [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?
<line-name-list> =
[ <line-names> | <name-repeat> ]+
<line-names> =
'[' <custom-ident>* ']'
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,∞]> )
<track-repeat> =
repeat( [ <integer [1,∞]> ] , [ <line-names>? <track-size> ]+ <line-names>? )
<fixed-size> =
<fixed-breadth> |
minmax( <fixed-breadth> , <track-breadth> ) |
minmax( <inflexible-breadth> , <fixed-breadth> )
<fixed-repeat> =
repeat( [ <integer [1,∞]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
<auto-repeat> =
repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
<name-repeat> =
repeat( [ <integer [1,∞]> | auto-fill ] , <line-names>+ )
<track-breadth> =
<length-percentage [0,∞]> |
<flex [0,∞]> |
min-content |
max-content |
auto
<inflexible-breadth> =
<length-percentage [0,∞]> |
min-content |
max-content |
auto
<length-percentage> =
<length> |
<percentage>
<fixed-breadth> =
<length-percentage [0,∞]>
Примеры
Определение размеров строк сетки
HTML
<div id="grid"> <div id="areaA">A</div> <div id="areaB">B</div> </div>
CSS
#grid {
display: grid;
height: 100px;
grid-template-rows: 30px 1fr;
}
#areaA {
background-color: lime;
}
#areaB {
background-color: yellow;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Grid Layout Module Level 2 # track-sizing |
| CSS Grid Layout Module Level 2 # subgrids |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
grid-template-rows |
57 | 1612–79 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 6.0 | 57 |
animation |
107 | 107 | 66 | 93 | 16 | 107 | 66 | 73 | 16 | 21.0 | 107 |
auto |
57 | 79 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 7.0 | 57 |
fit-content |
57 | 16 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 6.0 | 57 |
masonry |
Нет | Нет | 77 | Нет | превью | Нет | Нет | Нет | Нет | Нет | Нет |
max-content |
57 | 79 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 7.0 | 57 |
min-content |
57 | 79 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 7.0 | 57 |
minmax |
57 | 16 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 6.0 | 57 |
none |
57 | 79 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 7.0 | 57 |
repeat |
57 | 16 | 7657–76repeat(auto-fill, ...) и repeat(auto-fit, ...) поддерживают только один повторяющийся столбец (см. ошибку 1341507). |
44 | 10.1 | 57 | 7957–79repeat(auto-fill, ...) и repeat(auto-fit, ...) поддерживают только один повторяющийся столбец (см. ошибку 1341507). |
43 | 10.3 | 6.0 | 57 |
subgrid |
117 | 117 | 71 | 103 | 16 | 117 | 79 | 78 | 16 | 24.0 | 117 |
См. также
© 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-template-rows