minmax: границы размеров
minmax(min, max)— CSS-функция для Grid, задающая диапазон размера трека: не меньшеminи не большеmax, позволяя сетке гибко растягиваться и сжиматься.
Зачем нужно
Фиксированные размеры колонок делают раскладку негибкой. minmax задаёт допустимый диапазон — трек растёт вместе с контейнером, но не выходит за границы. Это основа адаптивных Grid-раскладок без media queries.
Где используется
- Адаптивные карточные галереи:
minmax(200px, 1fr) - Колонки с минимальной шириной для читаемости текста
- Строки с минимальной высотой, но авторасширением:
minmax(80px, auto) - Паттерн RAM (Repeat, Auto, Minmax) для автоматических колонок
Синтаксис
grid-template-columns: minmax(min, max);
Оба аргумента принимают: px, %, fr, auto, min-content, max-content.
Примеры
Базовый: колонка не уже 200px, растётся до 1fr
.grid {
display: grid;
grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr);
gap: 16px;
}
Паттерн RAM — адаптивные колонки без media queries
.gallery {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 20px;
}
<div class="gallery">
<div class="card">Карточка 1</div>
<div class="card">Карточка 2</div>
<div class="card">Карточка 3</div>
</div>
При ширине контейнера 800px влезает 3 колонки, при 500px — 2, при 260px — 1.
Строки с минимальной высотой
.grid {
display: grid;
grid-template-rows: minmax(60px, auto); /* минимум 60px, растётся по контенту */
}
max = 1fr, min = 0 (аналог flex: 1)
.grid {
grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
/* Аналог flex: 1 и flex: 2 */
}
Ограничения
frнельзя использовать какmin(только какmax)minmax(1fr, 2fr)— ошибка; используйтеminmax(100px, 2fr)
Частые ошибки
frкак минимум —minmax(1fr, 2fr)невалидно;frдопустим только как максимум.auto-fillvsauto-fit— сauto-fillпустые колонки занимают место; сauto-fitони схлопываются до нуля.- Забыть
min-width: 0на содержимом — содержимое может распирать ячейку даже приminmax.
Связанные темы
- _MOC Grid
- repeat() -- повторение треков
- Единица fr -- дробные доли
- Responsive Grid без media queries