BootstrapのユーティリティAPIでテーマ色を作る方法を徹底解説!初心者でもわかるダークモード入門
生徒
「Bootstrapでテーマカラーを作れると聞いたのですが、難しそうで不安です…。色や背景を自分で増やすことってできますか?」
先生
「Bootstrapには“ユーティリティAPI”という仕組みがあり、特別なプログラミングをしなくてもテーマ用の色や背景を増やせますよ。」
生徒
「パソコン初心者でもできるんでしょうか?ダークモードにも対応できますか?」
先生
「もちろんできます。HTMLだけで設定できるので、まずは簡単な例から一緒に進めてみましょう。」
1. BootstrapのユーティリティAPIとは?初心者向けに仕組みを徹底解説
Bootstrapの「ユーティリティAPI」とは、一言で言うと「自分専用の便利なデザインルール(クラス)を自由に追加・生成できる魔法のツール」のことです。通常、Bootstrapには背景色を変えるbg-primaryや、文字を太くするfw-boldといった便利なクラスが用意されています。しかし、「もっと自分好みの色や余白を使いたい」という場面も出てきます。そんな時に、CSSを何百行も書くことなく、設定を少し書き加えるだけで新しいクラスを自動生成してくれるのがこのAPIの凄さです。
プログラミング未経験の方でも、「料理のカスタマイズ」をイメージすれば簡単です。基本のレシピ(標準のBootstrap)に、自分だけの隠し味(ユーティリティAPIでの設定)を足すだけで、新しいメニュー(独自クラス)が出来上がる仕組みです。Sassなどの高度な知識がなくても、最近ではCSS変数(カスタムプロパティ)を組み合わせることで、HTMLとシンプルなスタイル指定だけで驚くほど柔軟にテーマカラーを拡張できるようになりました。まずは、基本となる「クラスを呼び出して色を変える」感覚を以下のサンプルで掴んでみましょう。
<style>
/* ユーティリティAPIの考え方を応用した、独自カラーの定義例 */
:root {
--bs-custom-pink: #ff69b4; /* 自分だけのピンク色を定義 */
}
/* APIが自動生成するようなイメージでクラスを作成 */
.text-custom-pink {
color: var(--bs-custom-pink) !important;
}
.border-custom-pink {
border: 5px solid var(--bs-custom-pink) !important;
}
</style>
<div class="p-4 border-custom-pink rounded">
<h3 class="text-custom-pink">独自ユーティリティの効果</h3>
<p>このテキストは、ユーティリティAPIの仕組みを利用して追加した「ピンク色のクラス」で装飾されています。このように、標準機能にないデザインを簡単に追加できるのが最大のメリットです。</p>
<img src="/img/sample150-100.jpg" alt="サンプル画像" class="img-fluid rounded">
</div>
ブラウザ表示
このように、ユーティリティAPIを理解すると「Bootstrapに用意された色しか使えない」という制限から解放されます。サイトのブランドカラーに合わせて、bg-brandやtext-accentといった自分専用のクラスを無限に作り出せるため、SEOに強い「独自性のある洗練されたデザイン」が誰でも最小限の手間で実現可能になります。
2. テーマ作成に必要な考え方を初心者向けに解説
Webサイトにおける「テーマ作成」とは、単に色を決める作業ではありません。サイト全体のブランドイメージを左右する「デザインの共通ルール」を作ることです。例えば、ボタンは青、背景は白、重要な文字は黒といった決まりをシステム全体に反映させることで、ユーザーにとって見やすく、信頼感のあるデザインが完成します。
Bootstrap 5.3からは、このテーマ管理が劇的に進化しました。最大の特徴は、data-bs-themeという属性を1つ書き換えるだけで、「ライトモード(明るい画面)」と「ダークモード(暗い画面)」を瞬時に切り替えられる点です。これは、iPhoneやAndroidのシステム設定で画面の明るさを変えるのと全く同じ感覚で操作できます。プログラミング未経験の方でも、まずは「色のセットを丸ごと入れ替えるスイッチがある」とイメージすればOKです。
初心者が押さえるべき2つのポイント
- 一貫性: ページごとに色を変えず、Bootstrapが用意した共通の色名(primary, secondaryなど)を使うこと。
- 拡張性: 最初からライト・ダーク両方の見え方を意識しておくことで、将来的な修正コストを大幅に減らせます。
【実践例】テーマ切り替えの仕組みを見てみよう
以下のサンプルは、最もシンプルな「ダークモード」の適用例です。<html>タグや親要素の<div>にdata-bs-theme="dark"と書き加えるだけで、中の文字色や背景が自動的に調整されます。
<div data-bs-theme="dark" class="p-4 border rounded bg-dark">
<h1 class="h4 text-light">ダークテーマのサンプル</h1>
<p class="text-secondary">
このエリアにはダークモードが適用されています。<br>
Bootstrapが自動で「背景は暗く、文字は明るく」調整してくれるため、細かい色設定は不要です。
</p>
<button type="button" class="btn btn-primary">
メインのボタン
</button>
<button type="button" class="btn btn-outline-light ms-2">
サブボタン
</button>
</div>
ブラウザ表示
このように、Bootstrapのテーマ機能を活用すれば、個別にCSS(デザインの指示書)を何百行も書く必要はありません。決められたキーワードを使うだけで、プロのような整ったデザインを実現できるのが、テーマ作成の最大のメリットです。
3. data-bs-themeでライトモードとダークモードを切り替える仕組み
Bootstrap 5.3以降、Webサイトの「見た目の色(カラーモード)」を切り替えるのが驚くほど簡単になりました。その鍵を握るのがdata-bs-themeという属性です。
プログラミング未経験の方でも、HTMLのタグの中にdata-bs-theme="dark"と1つ書き足すだけで、背景が黒く、文字が白くなる「ダークモード」へ瞬時に変更できます。これはBootstrapの内部で、背景色や文字色の設定(CSS変数)が自動でダークモード用に上書きされるためです。本来なら何十行も書かなければならない色の設定を、たった1行の属性で制御できるのが最大のメリットです。
まずは、特定のエリアだけをダークモードにする最もシンプルなサンプルを見てみましょう。
<div data-bs-theme="dark" class="p-4 border rounded shadow-sm">
<h3 class="mb-3">ダークモードのボックス</h3>
<p>Bootstrapの標準機能を使っているので、背景は深いグレーに、文字は読みやすい白に近い色に自動調整されています。</p>
<button class="btn btn-outline-light">詳細を見る</button>
</div>
<div class="p-4 border rounded shadow-sm mt-3">
<h3 class="mb-3">通常のライトモード</h3>
<p>こちらは何も指定していない状態です。標準の白い背景に黒い文字で表示されます。</p>
<button class="btn btn-primary">詳細を見る</button>
</div>
ブラウザ表示
この仕組みを使えば、ページ全体をダークモードにしたい場合は<html>タグや<body>タグに属性を追加し、部分的に雰囲気を変えたい場合は上記サンプルのように<div>タグなどに指定するだけでOKです。専門的な色のコード(#ffffffなど)を覚える必要がないため、初心者の方でもデザインの幅がぐっと広がります。
次は、この仕組みをさらに活用するために、実際にコードをどのように書き換えていくか、より具体的な手順を確認していきましょう。
4. ユーティリティAPIでテーマ色を追加する仕組みを知ろう
ユーティリティAPIを使うと、特別なプログラムを書かなくても「自分専用の色」をクラスとして増やすことができます。たとえば、bg-myblueやtext-sunのようなオリジナル名のクラスを作れば、一度設定したテーマカラーをページ内で何度でも使えます。
これはまるで、色鉛筆のセットに「自分だけの色」を追加するようなイメージです。一度好きな色を登録しておけば、塗りたい場所にいつでもその色を使えます。
5. CDNでユーティリティAPIを使ってテーマ色を追加する方法
Bootstrapでは、CDN環境でもユーティリティAPIを簡単に使えます。ユーティリティAPIはCSS変数を使って動くため、HTMLの中で:rootに色変数を書くだけでOKです。
下のサンプルでは、オリジナルの「myblue」というテーマ色を作り、背景色と文字色のユーティリティとして使えるようにしています。
<style>
:root {
--bs-myblue: #4a90e2;
--bs-sun: #ffcc33;
}
.bg-myblue {
background-color: var(--bs-myblue) !important;
}
.text-sun {
color: var(--bs-sun) !important;
}
</style>
<div class="p-3 bg-myblue text-white">
オリジナルテーマ色の背景です
</div>
<p class="text-sun">オリジナルの文字色です</p>
ブラウザ表示
6. オリジナルテーマをダークモードにも対応させる方法
ダークモード用のテーマを作るには、data-bs-theme="dark"のときに使われる色変数を書くだけでOKです。これは、ライトモードとダークモードで別々の色鉛筆を用意するイメージです。
<style>
:root {
--bs-myblue: #4a90e2;
}
[data-bs-theme="dark"] {
--bs-myblue: #1e64a8;
}
.bg-myblue {
background-color: var(--bs-myblue) !important;
}
</style>
<div data-bs-theme="light" class="p-3 bg-myblue text-white mb-2">
ライトモードの背景色
</div>
<div data-bs-theme="dark" class="p-3 bg-myblue text-white">
ダークモードの背景色
</div>
ブラウザ表示
7. 初心者がテーマ色を作るときに気をつけたいポイント
テーマカラーを増やすとデザインの幅が広がりますが、色を増やしすぎると統一性が失われる可能性があります。Bootstrapの特徴である「シンプルでわかりやすいUI」を保つためにも、まずは2〜3色を追加する程度から始めるとよいでしょう。
また、ダークモードでは明度の違いが強調されるため、ライトモードと同じ色がそのまま使えるとは限りません。ダークモードには「少し暗めの色」を設定すると、より自然に見えます。
【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つの革新スキル
スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。
CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。
「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。
※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。
Bootstrap 5を楽しみながら、一緒に学びましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら