カラーパレット設計:プライマリ/セカンダリ/アクセントの作り方
生徒
「Bootstrapの色って、最初から青や緑が決まっていますよね。でも、自分の好きな色に変えてサイト全体を統一したいんです。」
先生
「その気持ちは大切ですね。色を統一することを『カラーパレット設計』と言って、Webサイトの印象を決める大事な要素なんですよ。」
生徒
「カラーパレットって難しそうですが、どうやって作ればいいんでしょう?」
先生
「難しく考えなくても大丈夫。まずは、プライマリカラー・セカンダリカラー・アクセントカラーという3つの役割を理解することから始めましょう。」
1. カラーパレット設計とは?
カラーパレットとは、Webサイトやアプリで使用する色の組み合わせのことです。デザインを統一し、見やすくするための「色のルールブック」と考えてください。Bootstrapには標準の色(ブルーやグリーンなど)が用意されていますが、そのまま使うと他のサイトと似た印象になってしまうことがあります。そこで、自分のブランドや目的に合わせて色を設計することが大切です。
例えば、青を基調としたサイトなら落ち着いた雰囲気に、オレンジを基調にすると元気で親しみやすい雰囲気になります。このように色は訪問者の印象を大きく左右するので、初心者でも最初に取り組んでおきたいポイントです。
2. プライマリカラーの決め方
プライマリカラーとは、サイト全体の顔になるメインの色です。ロゴやブランドカラーがある場合は、その色をプライマリカラーに設定すると良いでしょう。ボタンやリンク、見出しなどに使われ、訪問者が「このサイトはこの色」という印象を持つ大切な役割を担います。
Bootstrapでは、.btn-primary や .text-primary などに使われる色がプライマリカラーです。これを自分好みに変えることで、オリジナリティのあるデザインが完成します。
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.btn-primary {
--bs-btn-bg: #ff6600;
--bs-btn-border-color: #ff6600;
--bs-btn-hover-bg: #e65c00;
--bs-btn-hover-border-color: #e65c00;
}
</style>
<button class="btn btn-primary">メインボタン</button>
ブラウザ表示
この例では、プライマリカラーをオレンジに変更しています。クリック時やホバー時の色も設定すると、自然で一貫性のある動きになります。
3. セカンダリカラーの役割
セカンダリカラーとは、プライマリカラーを引き立てる補助的な色です。背景や区切り線、カードなどのパーツに使うとバランスが取りやすくなります。例えば、プライマリカラーをオレンジにした場合、セカンダリカラーにはグレーやブルーを使うと落ち着きが出ます。
<style>
.btn-secondary {
--bs-btn-bg: #006699;
--bs-btn-border-color: #006699;
--bs-btn-hover-bg: #005580;
--bs-btn-hover-border-color: #005580;
}
</style>
<button class="btn btn-secondary">セカンダリボタン</button>
ブラウザ表示
ここでは、セカンダリカラーをブルー系に設定しています。オレンジ(プライマリ)とブルー(セカンダリ)は補色関係なので、視覚的にわかりやすくまとまりやすい配色です。
4. アクセントカラーの使い方
アクセントカラーは、注目させたい部分にだけ使う色です。警告や強調に利用される赤や、成功を意味する緑などが代表例です。使いすぎると全体がごちゃごちゃしてしまうため、ポイントでの使用が鉄則です。
<style>
.btn-success {
--bs-btn-bg: #33cc66;
--bs-btn-border-color: #33cc66;
--bs-btn-hover-bg: #29a35a;
--bs-btn-hover-border-color: #29a35a;
}
</style>
<button class="btn btn-success">アクセントボタン</button>
ブラウザ表示
この例では、緑色をアクセントカラーとして設定しています。フォームの送信ボタンや成功メッセージに使うと、ユーザーに「うまくいった」と直感的に伝わります。
5. 配色戦略のコツ
カラーパレットを設計する際は、次のようなルールを意識するとバランスが取れます。
- プライマリカラーは「全体の印象を決める色」なので、ブランドや目的に合ったものを選ぶ
- セカンダリカラーは「調整役」。プライマリを邪魔せずに支える色にする
- アクセントカラーは「強調のためだけに」少量だけ使う
- 背景色や文字色とのコントラストを意識して、読みやすさを優先する
たとえば、プライマリをオレンジ、セカンダリをブルー、アクセントを緑に設定した場合、見出しや重要なボタンにオレンジ、補助的なパーツにブルー、完了メッセージに緑を使うと、まとまりのあるサイトになります。
6. 実際のカラーパレット例
ここからは、実際にカラーパレットを反映させるサンプルコードを紹介します。単純に:rootに色を定義しただけでは、Bootstrapのボタンには反映されません。なぜなら、ボタンには専用のCSS変数(--bs-btn-bgなど)が割り当てられているからです。そのため、プライマリ・セカンダリ・アクセントを使うには、それぞれのボタン用変数も上書きしてあげる必要があります。
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
/* プライマリ(オレンジ) */
.btn-primary {
--bs-btn-bg: #ff6600;
--bs-btn-border-color: #ff6600;
--bs-btn-hover-bg: #e65c00;
--bs-btn-hover-border-color: #e65c00;
--bs-btn-active-bg: #cc5200;
--bs-btn-active-border-color: #cc5200;
}
/* セカンダリ(ブルー) */
.btn-secondary {
--bs-btn-bg: #006699;
--bs-btn-border-color: #006699;
--bs-btn-hover-bg: #005580;
--bs-btn-hover-border-color: #005580;
--bs-btn-active-bg: #004466;
--bs-btn-active-border-color: #004466;
}
/* アクセント(グリーン) */
.btn-success {
--bs-btn-bg: #33cc66;
--bs-btn-border-color: #33cc66;
--bs-btn-hover-bg: #29a35a;
--bs-btn-hover-border-color: #29a35a;
--bs-btn-active-bg: #208c4d;
--bs-btn-active-border-color: #208c4d;
}
</style>
<button class="btn btn-primary">プライマリ</button>
<button class="btn btn-secondary">セカンダリ</button>
<button class="btn btn-success">アクセント</button>
ブラウザ表示
このように、各ボタン専用の変数を上書きすることで、Bootstrap標準の色から自分のカラーパレットに切り替えることができます。
7. ダークモードに合わせたパレット切り替え
さらに便利なのが「ダークモード対応」です。最近のサイトやアプリでは、ライトモードとダークモードを切り替えるのが当たり前になっています。そのため、カラーパレットもモードごとに用意しておくと、より見やすく使いやすいデザインになります。
方法はシンプルで、[data-theme="dark"]などの属性を利用して変数を切り替えるだけです。ユーザーがダークモードに切り替えると、ボタンの色も自動で変化します。
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
/* ライトモード */
.btn-primary {
--bs-btn-bg: #ff6600;
--bs-btn-border-color: #ff6600;
}
.btn-secondary {
--bs-btn-bg: #006699;
--bs-btn-border-color: #006699;
}
.btn-success {
--bs-btn-bg: #33cc66;
--bs-btn-border-color: #33cc66;
}
/* ダークモード */
[data-theme="dark"] .btn-primary {
--bs-btn-bg: #ffaa66;
--bs-btn-border-color: #ffaa66;
}
[data-theme="dark"] .btn-secondary {
--bs-btn-bg: #3399cc;
--bs-btn-border-color: #3399cc;
}
[data-theme="dark"] .btn-success {
--bs-btn-bg: #66ff99;
--bs-btn-border-color: #66ff99;
}
</style>
<div data-theme="light" class="p-3">
<button class="btn btn-primary">プライマリ</button>
<button class="btn btn-secondary">セカンダリ</button>
<button class="btn btn-success">アクセント</button>
</div>
<div data-theme="dark" class="p-3 mt-3">
<button class="btn btn-primary">プライマリ(Dark)</button>
<button class="btn btn-secondary">セカンダリ(Dark)</button>
<button class="btn btn-success">アクセント(Dark)</button>
</div>
ブラウザ表示
この例では、data-theme="dark" が付いている要素の中では、少し明るめの色に切り替わるようにしています。ダークモードでは背景が暗いので、ボタンの色も少し鮮やかにすると読みやすくなります。
これで、カラーパレットをライトモードとダークモード両方に対応させることができ、現代的なWebサイトのデザインに近づけます。
まとめ
カラーパレット設計の全体像を振り返ろう
この記事では、Bootstrapを使ったWebサイトや管理画面のデザインにおいて、 とても重要な「カラーパレット設計」について学びました。 カラーパレット設計とは、単に色を選ぶ作業ではなく、 サイト全体の印象や使いやすさ、信頼感を左右する設計そのものです。 プライマリカラー、セカンダリカラー、アクセントカラーという 三つの役割を明確に分けて考えることで、 デザインに一貫性が生まれ、見やすく迷いにくい画面構成を実現できます。
プライマリカラーはサイトの「顔」となる色で、 ボタンやリンク、重要な見出しなどに使われます。 セカンダリカラーはそのプライマリを引き立てる補助役として、 背景やカード、サブボタンなどに使われます。 そしてアクセントカラーは、 成功メッセージや注意喚起など、 ユーザーの目を引きたいポイントだけに限定して使う色です。 この役割分担を意識するだけで、 初心者でもプロっぽい配色に近づけるようになります。
Bootstrapとカラーパレットの相性
Bootstrapはもともと標準のカラーテーマが用意されているため、 何も設定しなくてもすぐに見栄えの良い画面を作れます。 しかし、そのまま使い続けると、 他のBootstrapサイトと似た印象になりやすいという特徴もあります。 そこで重要になるのが、 ボタンやコンポーネントごとに用意されている CSS変数を上書きして、 自分専用のカラーパレットを反映させる方法です。
記事内で紹介したように、
--bs-btn-bg や --bs-btn-border-color などの変数を使えば、
プライマリ・セカンダリ・アクセントの色を
まとめてコントロールできます。
これにより、
後から色を変更したくなった場合でも、
CSSを一つずつ修正する必要がなくなります。
色の管理がしやすくなることは、
サイト運用やデザイン変更の負担を大きく減らしてくれます。
まとめとして確認するカラーパレット反映例
ここで、今回学んだ考え方を整理するために、 プライマリ・セカンダリ・アクセントを 明確に分けて定義したサンプルコードを振り返ります。 このように色の役割を決めておくことで、 ボタンやUI全体に統一感が生まれます。
<style>
/* プライマリ */
.btn-primary {
--bs-btn-bg: #ff6600;
--bs-btn-border-color: #ff6600;
--bs-btn-hover-bg: #e65c00;
}
/* セカンダリ */
.btn-secondary {
--bs-btn-bg: #006699;
--bs-btn-border-color: #006699;
--bs-btn-hover-bg: #005580;
}
/* アクセント */
.btn-success {
--bs-btn-bg: #33cc66;
--bs-btn-border-color: #33cc66;
--bs-btn-hover-bg: #29a35a;
}
</style>
<button class="btn btn-primary">プライマリ</button>
<button class="btn btn-secondary">セカンダリ</button>
<button class="btn btn-success">アクセント</button>
ブラウザ表示
このような形でカラーパレットを整理しておくと、 ページ数が増えてもデザインが崩れにくくなります。 また、ダークモード対応のように テーマを切り替える場合でも、 同じ構造のまま色だけを差し替えられるため、 現代的で柔軟なWebデザインを実現できます。 色を感覚だけで選ぶのではなく、 役割ごとに設計する意識がとても大切です。
生徒
「今まで色はなんとなく選んでいましたが、 プライマリやアクセントという役割で考えると、 すごく整理しやすくなりました。」
先生
「それがカラーパレット設計の一番大事なポイントですね。 色に役割を持たせることで、 デザインに一貫性が生まれます。」
生徒
「Bootstrapのボタンも、 変数を上書きするだけで こんなに印象が変わるのは驚きでした。」
先生
「今回学んだカラーパレット設計を意識すれば、 どんなサイトでも応用できます。 ぜひ自分だけの配色ルールを作ってみてください。」