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

Какие плюсы и минусы при написании одного большого класса в 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-переменные.

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

Один большой класс прост, но не даёт переиспользовать части и ведёт к дублированию; лучше базовый класс плюс модификаторы и переменные.

Подробнее: БЭМ — Модификаторы

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