# 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` 1行で全体の雰囲気を変える {#sec-4d6308cbf561} テーマ適用は意外と簡単です。 ```html
``` この1行(`data-theme`)が**アプリ全体の色変数セット**を切り替えます。 --- ## テーマは「全体」だけでなく:セクション単位でも可能 {#sec-e0f142807b1a} 製品開発ではこうした要件が頻繁に出てきます。 - 「メインページはシンプルだけど、イベントバナーはもっと目立たせたい」 - 「管理者ページはダーク、ユーザーページはライト」 daisyUIは特定DOMに `data-theme` を付けるだけで**その領域だけ**テーマが変わります。ネストも制限なしです。 ```html

全体はダーク

このセクションは常にライト このスパンはレトロ
``` この機能は「テーマトグル」より実務で頻繁に使われます。 --- ## テーマ管理:必要なテーマだけをオンにする習慣 {#sec-ab5d0648dae0} インストールが完了したら、テーマの有効化はCSSの `@plugin "daisyui" { ... }` ブロックで管理します。 ```css @import "tailwindcss"; @plugin "daisyui" { themes: light --default, dark --prefersdark, cupcake; } ``` - `themes` は **カンマ区切りのリスト**です。 - `--default` はデフォルトテーマ - `--prefersdark` は OS のダークモード好み(`prefers-color-scheme: dark`)時のデフォルトテーマ 「まず全部オンにして選ぶ」場合はこうもできます。 ```css @plugin "daisyui" { themes: all; } ``` ただし製品では通常 **必要なものだけをオンにする**ほうが管理しやすいです。 --- ## 差別化ポイント:『テーマ選択』をデザインではなく製品戦略として見る {#sec-612655295e82} 35のテーマを「可愛いスキン」だけだと損です。私はテーマをこう使います。 | ステージ | 活用方法 | |------|-----------| | **MVP段階** | テーマを「ブランド候補」として複数立ち上げ、UI/コンテンツと合うかを迅速に検証 | | **運用段階** | 色をハードコーディングしないので、ブランドリニューアル/シーズンイベントは**テーマ切替で完結** | | **チーム協力** | デザイナーがいなくても「役割ベースのトークン」を守れば一貫性が保てる | 結局のところは一つです。 > **「色を直接書く習慣」をやめるだけで、テーマはアプリ全体を一瞬でアップグレードできるツールになります。** --- ## カスタムテーマはいつ必要か? {#sec-67726d664b47} 結論から言うと、**ほとんどの場合は基本35テーマだけで十分**です。基本テーマはすでに完成度が高く、通常は「基本テーマ選択 + ほんの少しの修正」で実務に投入できます。 それでもカスタム(オーバーライド)を検討するケースがあります。 - **ブランドカラーが明確な場合**:会社/サービスの代表色が既に決まっており、基本35テーマの中から1つを選んで**その上にブランドカラーを重ねる**ようにしたいとき この場合、最初から新テーマを作るより、**`primary`、`secondary` だけを少しカスタマイズ**する方が効率的です。ボタン/リンク/CTAなどの主要インタラクションがブランド色で統一され、残りのトーン(背景/テキスト/状態色)は基本テーマのバランスをそのまま引き継げます。 `primary`、`secondary` を実際にどうカスタマイズするか(基本テーマをオーバーライドする方法)は **次回の投稿で**コードとともに詳しく解説します。 --- ## 次回予告 {#sec-b349bf2c99ab} 次回は以下を取り上げます。 - 「テーマは維持しつつコンポーネントだけを少し変える」実務パターン - テーマをカスタマイズする方法 - daisyUIでサポートされている色変数とクラスの種類をまとめたチートシート また会いましょう!