カテゴリ: Bootstrap 更新日: 2025/11/10

Bootstrapの$theme-colorsを拡張!ブランドカラー追加の完全ガイド【map-merge】

$theme-colorsを拡張してブランドカラーを追加する方法【map-merge】
$theme-colorsを拡張してブランドカラーを追加する方法【map-merge】

先生と生徒の会話形式で理解しよう

生徒

「Bootstrapの色って最初から決まっているみたいですが、自分のブランドカラーを追加できますか?」

先生

「はい、BootstrapではSassの$theme-colorsという変数に色がまとめられています。これを拡張することで、自分のブランドカラーを追加できます。」

生徒

「拡張ってどうやるんですか?全部書き直さないといけないんですか?」

先生

「いいえ、Sassのmap-mergeという便利な仕組みを使えば、既存の色を残したまま、新しい色だけを追加できます。」

生徒

「なるほど!それなら安心してブランドカラーを入れられそうですね!」

1. $theme-colorsとは?

1. $theme-colorsとは?
1. $theme-colorsとは?

$theme-colorsは、Bootstrapで使われる色の一覧を管理するSassの変数です。青色のprimary、緑色のsuccess、赤色のdangerなど、よく使う色がすでに用意されています。

この変数を拡張すると、ボタンや背景、文字色などに自分の好きな色を簡単に使えるようになります。例えば「自社のロゴカラーをボタンに使いたい」といった場合にとても役立ちます。

2. Sassのmapとは?初心者向けのたとえ

2. Sassのmapとは?初心者向けのたとえ
2. Sassのmapとは?初心者向けのたとえ

Sassの「map(マップ)」は、いわば「色の辞書」です。例えば、「primaryは青」「dangerは赤」といった対応表のようなものです。

通常のCSSでは色をその都度指定しますが、Sassのmapを使えば「primary」と書くだけで自動的に青が出てくるので、とても便利です。プログラミング初心者でも「名前と色をセットで覚えるカードの集まり」と考えれば理解しやすいでしょう。

3. map-mergeでブランドカラーを追加する方法

3. map-mergeでブランドカラーを追加する方法
3. map-mergeでブランドカラーを追加する方法

map-mergeは、既存のmapに新しい要素を追加するための関数です。これを使えば、$theme-colorsに自分のブランドカラーを追加できます。例えば、オレンジ色の「brand」という色を追加する場合は次のように書きます。


<style>
$theme-colors: map-merge(
  $theme-colors,
  (
    "brand": #ff6600
  )
);
</style>

4. 追加したカラーを使う

4. 追加したカラーを使う
4. 追加したカラーを使う

ブランドカラーを追加したら、Bootstrapのクラスに組み込まれて使えるようになります。例えば、.btn-brandというクラスでオレンジ色のボタンが作れます。


<style>
.btn-brand {
    background-color: var(--bs-brand);
    color: #fff;
}
</style>

<button class="btn btn-brand">ブランドカラーのボタン</button>

5. ブランドカラーを使うメリット

5. ブランドカラーを使うメリット
5. ブランドカラーを使うメリット

ブランドカラーを$theme-colorsに追加すると、サイト全体で統一感のあるデザインができます。特に企業サイトやサービスサイトでは、ロゴやアイコンと同じ色を使うことで「ブランディング効果」が高まります。

さらに、変数で管理しているので「色を変更したい」と思ったときも一箇所書き換えるだけで済みます。これにより修正コストも大幅に下がります。

6. 複数のブランドカラーを追加する例

6. 複数のブランドカラーを追加する例
6. 複数のブランドカラーを追加する例

もし「ブランドA」「ブランドB」のように複数の色を追加したい場合も簡単です。map-mergeの中にまとめて記述すればOKです。


<style>
$theme-colors: map-merge(
  $theme-colors,
  (
    "brand-a": #ff6600,
    "brand-b": #0099cc
  )
);
</style>

これでbtn-brand-abtn-brand-bといったクラスを作れば、サイト全体で一貫した色使いができます。

カテゴリの一覧へ
新着記事
New1
CSS
CSSの子要素セレクタを完全ガイド!初心者でもわかる:first-child・:last-child・:nth-child()
New2
CSS
CSSの擬似要素::beforeと::afterを徹底解説!初心者でも使える具体例つき
New3
Bootstrap
Bootstrapのアクセシビリティ完全ガイド!初心者でもわかるvisually-hiddenの使い方
New4
CSS
CSSで見出しと本文をきれいに分ける方法!初心者でもわかるスタイルの使い方
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.2
Java&Spring記事人気No2
CSS
CSSのスクロール可能なボックスを作る方法!初心者でもわかるoverflowとheightの使い方
No.3
Java&Spring記事人気No3
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.4
Java&Spring記事人気No4
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.5
Java&Spring記事人気No5
Bootstrap
Bootstrap 5 のフォームの基本:入力・バリデーション・エラーメッセージ設計
No.6
Java&Spring記事人気No6
CSS
CSSセレクタとは?初心者でもわかる要素の指定方法をやさしく解説
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap 5のモーダルとオフキャンバスを完全ガイド!初心者がつまずくポイントも解説
No.8
Java&Spring記事人気No8
CSS
CSSの文字色と背景色をやさしく解説!初心者でもわかる基本の設定方法