Свойство CSS `grid-auto-columns`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с октября 2017 года.
Свойство grid-auto-columns CSS задаёт размер неявно созданной дорожки столбца сетки или шаблона дорожек.
Если элемент сетки размещён в столбце, размер которого явно не задан свойством grid-template-columns, для него создаются неявные дорожки сетки. Это может произойти, если элемент явно размещён в столбце за пределами заданного диапазона или если алгоритм автоматического размещения создаёт дополнительные столбцы.
Попробуйте
grid-auto-columns: auto;
grid-auto-columns: 1fr;
grid-auto-columns: min-content;
grid-auto-columns: minmax(10px, auto);
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div></div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-auto-rows: 40px;
grid-gap: 10px;
width: 220px;
}
#example-element > div {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
}
#example-element > div:nth-child(1) {
grid-column: 1 / 3;
}
#example-element > div:nth-child(2) {
grid-column: 2;
}
Синтаксис
/* 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> ) <track-breadth> = <length-percentage> | <flex> | min-content | max-content | auto <inflexible-breadth> = <length-percentage> | 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, уровень 2 # auto-tracks |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
grid-auto-columns |
57 |
16
12–79
|
70
52–70Не принимает несколько значений размера дорожек. См. ошибка 1339672. |
44 |
10.1 |
57 |
79
52–79Не принимает несколько значений размера дорожек. См. ошибка 1339672. |
43 |
10.3 |
6.0 |
57 |
10.3 |
auto |
57 |
16 |
52 |
44 |
10.1 |
57 |
52 |
43 |
10.3 |
7.0 |
57 |
10.3 |
max-content |
57 |
16 |
52 |
44 |
11 |
57 |
52 |
43 |
11 |
7.0 |
57 |
11 |
min-content |
57 |
16 |
52 |
44 |
11 |
57 |
52 |
43 |
11 |
7.0 |
57 |
11 |
См. также
grid-auto-rowsgrid-auto-flowgrid- Автоматическое размещение в сеточной раскладке: задание размеров строк в неявной сетке
- Видео: Знакомство с автоматическим размещением и порядком элементов сетки
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/grid-auto-columns