Какие плюсы и минусы при написании одного большого класса в CSS?
Основы CSS
Один большой класс со множеством свойств удобен в начале, но плохо масштабируется.
Плюсы
- Всё в одном месте — легко найти стили элемента.
- Простая разметка — один класс на элемент.
- Нет вопросов порядка — правила не пересекаются.
Минусы
- Нельзя переиспользовать части — у похожей кнопки придётся копировать весь блок.
- Дублирование — одинаковые свойства повторяются в разных классах, CSS растёт.
- Тяжело менять варианты — для «маленькой» или «красной» версии нужен новый большой класс.
- Сложно поддерживать — непонятно, какие свойства за что отвечают.
Как лучше
Разбить на базовый класс и модификаторы:
.button { padding: 8px 16px; border-radius: 6px; font: inherit; }
.button--primary { background: #0066ff; color: white; }
.button--small { padding: 4px 8px; font-size: .875rem; }Общие значения вынести в CSS-переменные.
Коротко для собеседования
Один большой класс прост, но не даёт переиспользовать части и ведёт к дублированию; лучше базовый класс плюс модификаторы и переменные.
Подробнее: БЭМ — Модификаторы