カテゴリ: Bootstrap 更新日: 2025/12/24

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といったクラスを作れば、サイト全体で一貫した色使いができます。

まとめ

まとめ
まとめ

この記事では、Bootstrapの$theme-colorsを拡張して、ブランドカラーを追加する方法について、Sassのmap-mergeを中心に詳しく解説しました。Bootstrapは初期状態でも使いやすいCSSフレームワークですが、実際のWeb制作やWebデザイン、企業サイトやサービスサイトの開発では「自分たちのブランドカラーを使いたい」という場面が必ず出てきます。そのときに重要になるのが、$theme-colorsの理解と拡張です。

$theme-colorsは、Bootstrap全体で使われる色をまとめて管理しているSassのmap変数です。primaryやsuccess、dangerといった定番カラーは、このmapに登録されているからこそ、ボタンや背景、テキストの色として簡単に使えるようになっています。つまり、このmapに新しい色を追加すれば、Bootstrapの仕組みそのままで、独自のカラーを自然に使えるようになります。

ここで登場したmap-mergeは、既存の設定を壊さずに新しい要素を追加できる、とても安全で実用的な方法です。初心者の方がやりがちなのは、$theme-colorsをすべて書き直してしまうことですが、それではBootstrap本来の便利な色設定が失われてしまいます。map-mergeを使えば、元の色をそのまま残しつつ、必要なブランドカラーだけを追加できるため、実務でも安心して使えます。

ブランドカラーを追加するメリットは、見た目がきれいになるだけではありません。色を変数として一元管理できることで、サイト全体のデザインに統一感が生まれます。ロゴ、ボタン、見出し、リンクなどが同じ色のルールで構成されると、訪問者にとって「覚えやすい」「信頼感のある」サイトになります。これはブランディングの観点でも非常に重要なポイントです。

また、運用や保守の面でも大きなメリットがあります。もし将来「ブランドカラーを変更したい」「別のサービス用に色を増やしたい」となった場合でも、$theme-colorsのmapを書き換えるだけで対応できます。CSSをあちこち修正する必要がないため、修正漏れや色の不統一といったトラブルを防げます。初心者のうちから、この考え方に慣れておくと、規模の大きなプロジェクトでも役立ちます。

複数のブランドカラーを追加する方法も紹介しましたが、これは実際の現場でもよく使われるパターンです。例えば、企業サイトとキャンペーンサイトで色を切り替えたい場合や、管理画面とユーザー画面でテーマカラーを分けたい場合など、柔軟なデザイン設計が可能になります。BootstrapとSassを組み合わせることで、こうした要件にも無理なく対応できます。

ブランドカラー拡張の確認サンプル

最後に、$theme-colorsで追加したブランドカラーを使った簡単な確認用サンプルです。実際にブラウザで表示し、色が正しく反映されているかを確認してみてください。


<style>
.brand-box {
    background-color: var(--bs-brand);
    padding: 1.5rem;
    color: #fff;
    border-radius: 0.5rem;
}
</style>

<div class="brand-box">
    ブランドカラーを使ったサンプル表示
</div>

このように、Bootstrapの仕組みを活かしたままブランドカラーを扱えるようになると、デザインの自由度と管理のしやすさが大きく向上します。まずは一色追加するところから始めて、少しずつ慣れていくのがおすすめです。

先生と生徒の振り返り会話

生徒

「Bootstrapの色って固定だと思っていましたが、こんなふうに追加できるんですね。」

先生

「そうなんです。$theme-colorsを理解すると、Bootstrapが一気に使いやすくなります。」

生徒

「map-mergeなら、元の色を壊さないのが安心でした。」

先生

「実務でも必須の考え方なので、ぜひ覚えておきましょう。」

生徒

「次は複数のブランドカラーを使ったデザインにも挑戦してみたいです。」

先生

「いいですね。少しずつ試しながら理解を深めていきましょう。」

2026年最新 スキルアップ・実践セミナー

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

「スピード」が武器になる。Bootstrap 5で商用クオリティのWebサイトを高速構築。

本講座では、世界シェアNo.1のフレームワークBootstrap 5を使いこなし、ゼロからレスポンシブサイトを組み上げる「現場最速のワークフロー」を学びます。単なる導入に留まらず、ユーティリティクラスを活用した効率化と、実務で必須となるカスタマイズ技法を60分で完全習得します。

具体的なワークショップ内容と環境

【つくるもの】
モダンなランディングページ(LP)やダッシュボードのプロトタイプを作成します。ナビゲーション、ヒーローセクション、カードレイアウト、フッターなど、Bootstrapのコンポーネントを組み合わせて「一瞬で形にする」感動を体験してください。

【開発環境】
VS CodeにBootstrap 5専用のSnippet(補完機能)を導入し、手入力を最小限にする環境を構築。最新のCDN利用法や、表示速度(Core Web Vitals)を意識した最適な読み込み設定など、プロの初期設定を伝授します。

この60分で得られる3つの革新スキル

1. グリッドシステムの完全マスター

スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。

2. ユーティリティクラスによる爆速デザイン

CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。

3. 脱・標準デザインのカスタマイズ

「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。

※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

Bootstrap 5を楽しみながら、一緒に学びましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
CSSの!importantの使い方を完全ガイド!初心者向けに徹底解説
New2
CSS
CSSでインデント(字下げ)を設定する方法を完全ガイド!初心者でもわかるtext-indentの使い方
New3
HTML
HTMLのdivタグの役割とは?初心者でもわかるレイアウトで使う正しい場面
New4
CSS
CSSの背景色の使い方を完全ガイド!初心者でもわかるbackground-colorの基本
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
CSS
CSSの状態によるセレクタ完全ガイド!初心者でもわかる:checkedと:disabledの使い方
No.3
Java&Spring記事人気No3
Bootstrap
Bootstrap 5 と Tailwindの違いを比較:どっちを選ぶ?用途別の選び方を初心者向けに解説
No.4
Java&Spring記事人気No4
CSS
CSSのレスポンシブ新常識!メディアクエリとコンテナクエリの違いを徹底解説
No.5
Java&Spring記事人気No5
Bootstrap
Bootstrap Iconsのライセンスと商用利用の注意点【著作権と表記を初心者向けに解説】
No.6
Java&Spring記事人気No6
CSS
CSSで要素を消す方法を完全ガイド!display:noneとvisibility:hiddenの違い
No.7
Java&Spring記事人気No7
HTML
HTMLのliタグとは?初心者でもわかるul・ol内での正しい役割を完全解説
No.8
Java&Spring記事人気No8
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点