Урок 13. Тёмная тема и кастомизация @theme

📁 Раздел: Состояния и темы ⏱️ Время изучения: ~50 мин 🎯 Сложность: Средняя

⚡ Кратко

Приставка dark: включает утилиту в тёмной теме. По умолчанию она следует системной настройке; чтобы темой управлял переключатель, добавьте @custom-variant dark (&:where(.dark, .dark *)); и вешайте класс dark на <html>. В больших проектах цвета не дублируют в каждом классе, а описывают семантическими токенами.

О чём этот урок

Тёмная тема — это не «инвертировать цвета». Это вторая палитра, в которой меняются роли: фон становится тёмным, тени перестают работать, границы приходится делать светлее. Разберём три способа включения темы, приём с семантическими токенами (он же лежит в основе shadcn/ui) и типичные ошибки — от мигания при загрузке до нечитаемого текста.

Структура урока

Практика

  • Нажмите 🌙 в углу страницы — все демо этого урока переключатся вместе с ней.
  • Опишите пару токенов «поверхность / текст» и используйте их вместо цветов.
  • Проверьте контраст в тёмной теме: он часто хуже, чем кажется.

Навигация