TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.52K subscribers
Post #2836 544
CSS Контейнерные запросы (@container) вместо Медиа-запросов

Все мы привыкли к медиа-запросам (@media). Они отлично работают, когда нужно перестроить всю страницу целиком под мобильный экран.
Но что делать, если один и тот же компонент (например, карточка товара) должен выглядеть по-разному в узкой боковой панели и в широкой центральной сетке?
Раньше приходилось плодить JS-логику или писать тонны костыльных CSS-классов вроде .card--sidebar, .card--grid.
Теперь всё изменилось. С помощью Container Queries компонент сам адаптируется под размеры своего родительского контейнера, а не всего экрана!

Как это работает?
Сначала мы объявляем для родительского элемента контекст контейнера с помощью свойства container-type:

.sidebar, .main-grid {
/* Говорим браузеру следить за изменением ширины (inline-size) этого блока */
container-type: inline-size;
/* (Опционально) даем контейнеру имя, чтобы обращаться именно к нему */
container-name: card-wrapper;
}

А теперь стилизуем саму карточку внутри этого контейнера:

/* По умолчанию карточка вертикальная (для узких блоков) */
.card {
display: flex;
flex-direction: column;
}
/* Если родительский контейнер становится шире 400px, делаем её горизонтальной */
@container card-wrapper (min-width: 400px) {
.card {
flex-direction: row;
gap: 20px;
}
}


В чём профит?
Вы создаете абсолютно независимый компонент. Вы можете закинуть его в шапку, подвал, сайдбар или динамический попап – он сам поймет, сколько у него места, и перестроится.

Поддержка в браузерах: уже более 90% (все современные хромиумы, Safari 16+ и Firefox 110+).

#полезности #css
  • 👍 3
  • ❤ 1
More from @free_html_lessons
  1. Sep 27, 2026Post #3063
  2. Sep 27, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Функции в Ty…
  3. Sep 26, 2026Post #3061
  4. Sep 26, 2026Задача: Шифр подстановки Современные методы шифрования надёжно защищают наши коммуникации…
  5. Sep 25, 2026Макет для тренировки (rectop) Перейти к макету 🧑‍💻 #макет@free_html_lessons
  6. Sep 24, 2026Timeline Tree Посмотреть на codepen 👨‍💻 #практика
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →