Есть ли модульность в CSS?
Основы CSS
В самом CSS исторически не было модулей с изоляцией: все стили глобальные. Модульность достигают разбиением на файлы и инструментами изоляции.
Что есть в нативном CSS
- `@import` — подключение файлов (но последовательная загрузка).
- `@layer` — слои каскада: можно явно задать, чьи стили важнее.
- `@scope` — ограничение области действия стилей поддеревом.
- Shadow DOM — полная изоляция в веб-компонентах.
@scope (.card) to (.card__content) {
img { border-radius: 8px; }
}Что дают инструменты
- CSS Modules — уникальные имена классов при сборке.
- Scoped-стили во Vue и Svelte.
- Препроцессоры —
@useдля разбиения на модули с пространствами имён. - БЭМ — модульность через соглашение.
Коротко для собеседования
Нативно CSS глобален, но есть @layer, @scope и Shadow DOM; на практике модульность дают CSS Modules, scoped-стили, Sass-модули и БЭМ.
Подробнее: MDN — Cascade layers