TGViewer
Senior Frontend - javascript, html, css Senior Frontend - javascript, html, css @seniorfront · 23.9K subscribers
Post #5764 11.2K
Нативный CSS-скоупинг: как изолировать стили без сборщиков

Если вы работали с Vue или Svelte, то наверняка любите их локальные стили (scoping) — это когда код компонента заперт внутри него и не ломает верстку в других частях сайта. Раньше для этого приходилось настраивать CSS Modules или плагины для Webpack/Vite. Теперь браузеры учатся делать это сами.

В Safari появилась интересная фича — контейнеры только по имени (Name-Only Containers).

Обычно директива @container проверяет размеры экрана (например, «если родитель шире 500px»). Но если убрать условие размера и оставить только имя, мы получаем отличный инструмент для изоляции стилей:

CSS
/* Обозначаем границы нашего компонента карточки */
.my-card {
container-name: card-container;
}

/* Пишем стили, которые будут работать ТОЛЬКО внутри этой карточки */
@container card-container {
.title { color: royalblue; }
}

Теперь, даже если на сайте есть другие элементы с классом .title, наш цвет применится только внутри .my-card.

👉 @seniorFront
  • 🔥 12
  • ❤ 5
More from @seniorfront
  1. Sep 15, 2026🔴 Тестовый собес на Frontend-разработчика со старшим разработчиком ex. Сбер в этот четвер…
  2. Sep 2, 2026🪄 Как убрать лишний div, не трогая HTML В CSS сетка или флексбокс действуют только на пря…
  3. May 11, 2026Валидация на чистом CSS: считаем поля через :nth-child(n of selector) Раньше для проверки…
  4. Apr 16, 2026SVG-фильтры: от «магии» к пониманию Если CSS-фильтры - это готовые инста-фильтры, то SVG-ф…
  5. Apr 2, 2026📄 Эффект загнутого угла на чистом CSS Интересный разбор от Kitty Giraudel. Традиционно «з…
  6. Mar 19, 2026Как работает JPEG: магия, обманывающая ваши глаза Вы когда-нибудь задумывались, почему JPE…
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 →