PassFront
  1. PassFront
  2. База знаний
  3. Основы CSS

Какие проблемы бывают при использовании стилей в CSS?

Основы CSS

Главная проблема CSS — глобальность: любое правило может повлиять на любой элемент страницы, а итог зависит от каскада.

Типичные проблемы

  • Конфликты имён — .title в разных частях проекта перекрывают друг друга.
  • Гонка специфичности — чтобы перебить стиль, пишут всё более длинные селекторы и !important.
  • Зависимость от порядка — поменяли порядок подключения файлов, и вид изменился.
  • Мёртвый код — страшно удалять стили, непонятно, где они используются.
  • Хрупкие селекторы — .header > div > ul a ломается при изменении разметки.

Как решают

  • соглашения об именах (БЭМ);
  • изоляция: CSS Modules, scoped-стили, CSS-in-JS, Shadow DOM;
  • @layer для управления приоритетами;
  • дизайн-система и CSS-переменные вместо копирования значений;
  • линтеры (Stylelint).

Коротко для собеседования

CSS глобален, поэтому возникают конфликты имён, гонка специфичности и мёртвый код; решают это изоляцией, БЭМ, слоями и дизайн-системой.

Подробнее: MDN — Каскадные слои

Другие вопросы раздела