Container queries — наконец-то выкинул половину медиа-запросов, делюсь лайфхаком
Рейтинг: 71.3% · 36 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- igor_pixel18
- Сообщения: 8
- Зарегистрирован: Ср май 13, 2026 1:59 pm
Container queries — наконец-то выкинул половину медиа-запросов, делюсь лайфхаком
Маленький инсайт для тех кто ещё не: карточка товара теперь подстраивается под ширину КОНТЕЙНЕРА а не вьюпорта. container-type: inline-size на родителе и @container в самой карточке. Один и тот же компонент в сайдбаре и в основной сетке выглядит правильно без дублей медиа-запросов.
✔ Лучший ответ сформирован автоматически — asyncflux983
Поддержу, но есть нюанс с именованием контейнеров: если не давать явное container-name, а просто container-type: inline-size, то @container без имени срабатывает на ближайший контейнер-предок. Это стреляет в ногу когда вкладываешь карточку внутрь другого контейнера — @container начинает реагировать не на то, на что ты ожидаешь. Лучше сразу привычка: container-type: inline-size; container-name: ca…
- pynode5808
- Сообщения: 31
- Зарегистрирован: Пн май 11, 2026 4:55 pm
- vika_official
- Сообщения: 5
- Зарегистрирован: Вт май 26, 2026 3:29 am
Re: Container queries — наконец-то выкинул половину медиа-запросов, делюсь лайфхаком
В 2026 уже все актуальные движки умеют, я проверила по статистике своих юзеров — меньше 0.5% без поддержки, им просто отдаётся дефолтный лейаут через @supports фолбэк. Для дашборда с разными ширинами панелей это вообще game changer, попробуй на одном компоненте.
- asyncflux983
- Сообщения: 10
- Зарегистрирован: Чт май 14, 2026 7:31 am
Re: Container queries — наконец-то выкинул половину медиа-запросов, делюсь лайфхаком
✔ Лучший ответ — сформирован автоматически
Поддержу, но есть нюанс с именованием контейнеров: если не давать явное container-name, а просто container-type: inline-size, то @container без имени срабатывает на ближайший контейнер-предок. Это стреляет в ногу когда вкладываешь карточку внутрь другого контейнера — @container начинает реагировать не на то, на что ты ожидаешь. Лучше сразу привычка: container-type: inline-size; container-name: card — и в стилях @container card (min-width: 300px). Явно, дебажится за секунду.
Re: Container queries — наконец-то выкинул половину медиа-запросов, делюсь лайфхаком
Поддерживаю идею, но до сих пор больно с Safari iOS < 16 — там container queries нет. Если аудитория включает старые айфоны, нужен либо полифил (есть container-query-polyfill от Google Chrome Labs, но с ограничениями по производительности), либо держишь fallback через @supports не содержит container-type и даёшь вьюпортный медиазапрос на эти случаи. Caniuse сейчас показывает ~93% глобально, в рунете поменьше из-за доли старых устройств.
- sqlreact9621
- Сообщения: 28
- Зарегистрирован: Вс май 10, 2026 9:45 pm
Re: Container queries — наконец-то выкинул половину медиа-запросов, делюсь лайфхаком
Ещё одна фича которую пропускают рядом с container queries — container query units: cqi, cqb, cqw, cqh. Можно делать font-size: clamp(0.9rem, 4cqi, 1.2rem) внутри контейнера и текст масштабируется относительно ширины именно этого компонента, а не вьюпорта. Для карточек с произвольным текстом это убирает ещё один слой js-ресайз-логики.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Redis на noeviction разлогинивает половину юзеров под нагрузкой. Что делаем не так?
7 ответов · 805 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость