grid-auto-columns
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с октября 2017 года.
Свойство grid-auto-columns CSS задаёт размер неявно созданной колонки сетки дорожки или шаблона дорожек.
Попробовать
Если элемент сетки размещается в колонке, размер которой не задан явно свойством grid-template-columns, неявно создаются дорожки сетки, чтобы поместить его. Это может произойти либо при явном размещении элемента в колонке вне диапазона, либо в результате алгоритма автоматического размещения, создающего дополнительные колонки.
Синтаксис
/* Keyword values */ grid-auto-columns: min-content; grid-auto-columns: max-content; grid-auto-columns: auto; /* <length> values */ grid-auto-columns: 100px; grid-auto-columns: 20cm; grid-auto-columns: 50vmax; /* <percentage> values */ grid-auto-columns: 10%; grid-auto-columns: 33.3%; /* <flex> values */ grid-auto-columns: 0.5fr; grid-auto-columns: 3fr; /* minmax() values */ grid-auto-columns: minmax(100px, auto); grid-auto-columns: minmax(max-content, 2fr); grid-auto-columns: minmax(20%, 80vmax); /* fit-content() values */ grid-auto-columns: fit-content(400px); grid-auto-columns: fit-content(5cm); grid-auto-columns: fit-content(20%); /* multiple track-size values */ grid-auto-columns: min-content max-content auto; grid-auto-columns: 100px 150px 390px; grid-auto-columns: 10% 33.3%; grid-auto-columns: 0.5fr 3fr 1fr; grid-auto-columns: minmax(100px, auto) minmax(max-content, 2fr) minmax(20%, 80vmax); grid-auto-columns: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px); /* Global values */ grid-auto-columns: inherit; grid-auto-columns: initial; grid-auto-columns: revert; grid-auto-columns: revert-layer; grid-auto-columns: unset;
Значения
<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>устанавливает коэффициент растяжения дорожки. В качестве минимального значения, оно обрабатывается как ноль (или минимальное содержимое, если размер контейнера сетки ограничен минимальным размером содержимого). fit-content( [ <length> | <percentage> ] )-
Представляет формулу
min(max-content, max(auto, argument)), которая вычисляется аналогичноauto(т.е.minmax(auto, max-content)), за исключением того, что размер дорожки ограничен значением argument, если он больше минимальногоautoзначения. auto-
В качестве максимального значения представляет собой максимальный размер
max-contentэлементов в этой дорожке.В качестве минимального значения представляет собой максимальный минимальный размер элементов в этой дорожке (заданный свойством
min-width/min-heightэлементов). Это часто, но не всегда, минимальныйmin-contentразмер.Если используется вне обозначения
minmax(),autoпредставляет собой диапазон между минимальным и максимальным значениями, описанными выше. В большинстве случаев это ведет себя аналогичноminmax(min-content,max-content).Примечание: размеры дорожек, заданные как
auto, (и только дорожек, заданных какauto) могут быть растянуты свойствамиalign-contentиjustify-content. Поэтому по умолчанию дорожка размеромautoзаймет всё оставшееся пространство в контейнере сетки.
Формальное определение
| Начальное значение | auto |
|---|---|
| Применимо к | контейнерам сетки |
| Наследуется | нет |
| Проценты | относится к соответствующему размеру области содержимого |
| Вычисленное значение | проценты, как указано, или абсолютная длина |
| Тип анимации | по типу вычисленного значения |
Формальный синтаксис
grid-auto-columns =
<track-size>+
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,∞]> )
<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>
Примеры
Установка размера колонок сетки
HTML
<div id="grid"> <div id="item1"></div> <div id="item2"></div> <div id="item3"></div> </div>
CSS
#grid {
height: 100px;
display: grid;
grid-template-areas: "a a";
gap: 10px;
grid-auto-columns: 200px;
}
#grid > div {
background-color: lime;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Grid Layout Module Level 2 # auto-tracks |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
grid-auto-columns |
57 | 1612–79 | 7052–70Не поддерживает несколько значений размера дорожки. См. ошибку 1339672. |
44 | 10.1 | 57 | 7952–79Не поддерживает несколько значений размера дорожки. См. ошибку 1339672. |
43 | 10.3 | 6.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-columns