# daisyUI темы: 35 тем, чтобы решить проблему выбора цвета daisyUI темы – это не просто поддержка «тёмного режима». **35 готовых палитр (тем)**, которые уже спроектированы на уровне продукта, и возможность **применить их к всему приложению** единообразно. ![Модный стиль с яркими цветами](/media/editor_temp/6/80ae2ebd-04c4-4f84-b0d2-15666a888080.png) > В этой статье предполагается, что установка завершена. > Если нужно начать с установки, сначала посмотрите официальное руководство: > --- ## Ключ к пониманию тем: «не задавайте цвет вручную» {#sec-648a5757ecf6} Самое частое недоразумение новичков – это именно здесь. | Неправильный способ | Результат | |------------|------| | Если в Tailwind прописать `bg-white`, `text-slate-900`, `bg-blue-600` и т.д. | При смене темы элемент остаётся **фиксированным цветом**. | То есть, чтобы использовать тему, **не кодируйте цвета напрямую** – используйте **токены (семантические имена цветов)**, которые предоставляет daisyUI. ### ❌ Неправильный пример: игнорирование темы и жёсткое кодирование {#sec-0b5438bac864} ```html
``` ### ✅ Правильный пример: использование токенов daisyUI, чтобы «подстраиваться» под тему {#sec-e1146fcf48a6} ```html
``` Важно не «какой цвет», а «какая роль». - `bg-base-100` : основной фон экрана/карточки - `text-base-content` : основной цвет текста - `btn-primary` : основное действие продукта (CTA) Тема меняет цвета в соответствии с этими ролями. --- ## Что именно нужно использовать? {#sec-7cfab9901bed} Чтобы правильно использовать темы daisyUI, просто применяйте один из двух вариантов (или оба) в привычном режиме. | Способ | Пример | |--------|------| | **Классы компонентов daisyUI** | `btn`, `btn-primary`, `alert`, `badge`, `card`, `navbar`, `input` … | | **Классы токенов цвета daisyUI (семантические)** | Базовый фон/текст: `bg-base-100`, `bg-base-200`, `bg-base-300`, `text-base-content`
Акцентные цвета: `bg-primary`, `text-primary`, `bg-secondary`, `bg-accent`, `bg-neutral`
Состояния: `bg-info`, `bg-success`, `bg-warning`, `bg-error` (+ соответствующие `*-content`) | Например, при создании «баннера предупреждения» не задавайте цвет напрямую, а указывайте роль. ```html
Информация о платеже отсутствует.
``` --- ## Применение темы: один `data-theme` меняет весь вид {#sec-4d6308cbf561} Применение темы удивительно простое. ```html
``` Эта одна строка (`data-theme`) меняет **весь набор цветовых переменных** приложения. --- ## Тема меняет не только «весь» вид: можно менять и по секциям {#sec-e0f142807b1a} При разработке часто встречаются такие требования. - «Главная страница чистая, но баннер события должен быть ярче» - «Панель администратора в тёмном, пользовательский интерфейс – в светлом» daisyUI позволяет добавить `data-theme` к конкретному DOM‑элементу, и **только эта область** будет использовать другую тему. Вложенность ограничений нет. ```html

Весь сайт в тёмном режиме

Эта секция всегда светлая Этот span в ретро‑стиле
``` Эта функция чаще используется в реальных проектах, чем простое переключение темы. --- ## Управление темами: включайте только нужные {#sec-ab5d0648dae0} После установки управление активными темами осуществляется в блоке CSS `@plugin "daisyui" { ... }`. ```css @import "tailwindcss"; @plugin "daisyui" { themes: light --default, dark --prefersdark, cupcake; } ``` - `themes` – список, разделённый запятыми. - `--default` – тема по умолчанию - `--prefersdark` – тема по умолчанию, если пользователь предпочитает тёмный режим (`prefers-color-scheme: dark`) Если хотите «включить всё и потом выбрать», можно сделать так. ```css @plugin "daisyui" { themes: all; } ``` Но в большинстве продуктов удобно включать **только необходимые** темы. --- ## Уникальная точка: «выбор темы» как продуктовая стратегия, а не просто дизайн {#sec-612655295e82} 35 тем – это не просто «красивые скины». Я использую их так: | Этап | Как применяю | |------|-----------| | **MVP** | Пускаю несколько тем как «брендовые кандидаты» и быстро проверяю, как они сочетаются с UI/контентом | | **Операционный** | Поскольку цвета не кодируются напрямую, обновление бренда/сезонных акций сводится к «смене темы» | | **Командная работа** | Даже без дизайнера, соблюдая токены ролей, сохраняется согласованность | Идея проста. > **Если избавиться от привычки «жёстко задавать цвет», тема становится инструментом мгновенного обновления всего приложения.** --- ## Когда нужны кастомные темы? {#sec-67726d664b47} В итоге, **для большинства случаев достаточно 35 базовых тем**. Они уже высококачественные, и обычно достаточно «выбрать базовую тему + небольшие правки». Однако бывают случаи, когда стоит рассмотреть кастомизацию (переопределение). - **Ясно определённый брендовый цвет**: если у компании/сервиса уже есть фирменный цвет, и вы хотите, чтобы он доминировал, выбираете одну из 35 тем и «покрываете» её брендовыми цветами. В таком случае, вместо создания новой темы с нуля, проще **переопределить только `primary`, `secondary`**. Это позволяет сохранить баланс остальных тонов (фон, текст, состояния), а ключевые интерактивные элементы (кнопки, ссылки, CTA) будут окрашены в брендовый цвет. Как именно переопределять `primary`, `secondary` – подробнее в следующем посте с кодом. --- ## Анонс следующей части {#sec-b349bf2c99ab} В следующей статье планирую рассмотреть: - Практический паттерн «сохраняем тему, слегка меняем компоненты» - Как кастомизировать тему - Чит‑шит по цветовым переменным и классам, поддерживаемым daisyUI До встречи!