カテゴリ: Bootstrap 更新日: 2026/01/06

Bootstrapでダークモードを前提とした変数設計!ライト/ダーク共通Sassの作り方を初心者向けに解説

ダークモード前提の変数設計:ライト/ダーク共通Sassの作り方
ダークモード前提の変数設計:ライト/ダーク共通Sassの作り方

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

生徒

「Bootstrapでダークモード対応をしたいんですが、ライトモードとダークモードで色を分けるのって大変そうです。どうやったら効率よく作れますか?」

先生

「いい質問ですね。実は、Sass変数をうまく使うことで、ライトとダークの両方に対応できる共通の仕組みを作れるんです。変数を中心に設計すると、あとから色を変えるのもとても簡単になりますよ。」

生徒

「Sass変数って、CSSでいう変数とは違うんですか?」

先生

「Sass変数はコンパイル前に値を置き換える仕組みです。一方、CSS変数はブラウザ上でリアルタイムに切り替えられるんです。Bootstrapでは両方を組み合わせることで、ライト/ダークを切り替える共通設計が可能になります。」

1. ダークモードに対応したデザインが必要な理由

1. ダークモードに対応したデザインが必要な理由
1. ダークモードに対応したデザインが必要な理由

最近のWebサイトやアプリでは、ライトモードだけでなくダークモード対応が求められるようになっています。スマートフォンの設定やユーザーの好みに合わせて自動的に切り替わることも増えてきました。

ダークモードは、画面を暗めにすることで目の疲れを軽減したり、バッテリー消費を抑えたりする効果があります。そのため、Bootstrapを使うときもダークモード対応を考えた変数設計がとても大切になります。

2. Sass変数でライト/ダークを共通管理する考え方

2. Sass変数でライト/ダークを共通管理する考え方
2. Sass変数でライト/ダークを共通管理する考え方

ライトモードとダークモードを別々に作ると、コードが二重に増えてしまいます。そこでおすすめなのが「共通のSass変数を定義して、ライトとダークで値だけを切り替える」方法です。

例えば、$body-bgという変数を使うときに、ライトモードでは白、ダークモードでは黒を指定するだけで、背景色を簡単に切り替えられます。

この仕組みを使えば、全体の設計がシンプルになり、保守もしやすくなります。

3. 実際のSass変数とCSS変数の組み合わせ例

3. 実際のSass変数とCSS変数の組み合わせ例
3. 実際のSass変数とCSS変数の組み合わせ例

ここでは、Bootstrapの変数を使って、ライト/ダーク共通のスタイルを作る例を紹介します。


<style>
    :root {
        --bs-body-bg: #ffffff;  /* ライトモードの背景 */
        --bs-body-color: #212529; /* ライトモードの文字色 */
    }
    @media (prefers-color-scheme: dark) {
        :root {
            --bs-body-bg: #121212;  /* ダークモードの背景 */
            --bs-body-color: #f8f9fa; /* ダークモードの文字色 */
        }
    }
    body {
        background-color: var(--bs-body-bg);
        color: var(--bs-body-color);
    }
</style>

<body>
  <h1>ダークモード対応の見出し</h1>
  <p>このテキストはライト/ダークの両方で読みやすく表示されます。</p>
</body>

4. 共通Sass設計のメリット

4. 共通Sass設計のメリット
4. 共通Sass設計のメリット

ライト/ダーク共通のSass設計には、以下のようなメリットがあります。

  • 変数を変更するだけでテーマ全体を切り替えられる
  • デザインが統一され、ライト/ダーク両方で整った見た目になる
  • メンテナンスが簡単になり、後から色を変えるのも容易

これは、服のサイズを変えるときに「全員分の制服を一度に調整できる」のと同じです。変数を変えるだけでサイト全体に統一感を出せるのは大きな利点です。

5. 初心者が試すときの工夫

5. 初心者が試すときの工夫
5. 初心者が試すときの工夫

初心者がダークモード対応の変数設計を試すときは、まずは背景色と文字色だけを切り替えるところから始めると理解しやすいです。その後、ボタンやリンク色などを少しずつ増やしていくと混乱せずに進められます。

また、検索エンジン対策として「Bootstrap ダークモード Sass 変数 共通設計」といったキーワードを記事に含めることで、学習中の初心者にも見つけてもらいやすくなります。

まとめ

まとめ
まとめ

ダークモードを前提にしたBootstrap変数設計の考え方

ここまで、Bootstrapでダークモードを前提とした変数設計について学んできました。ライトモードとダークモードを別々に作るのではなく、Sass変数とCSS変数をうまく組み合わせて共通化することで、デザインの管理が非常に楽になることが分かったと思います。Bootstrapはもともと変数設計がしっかりしているため、その仕組みを理解して活用することで、初心者でも無理なくダークモード対応を進められます。

特に重要なのは「色そのものを直接使わない」という意識です。背景色、文字色、リンク色などを直接指定するのではなく、意味を持った変数を通して管理することで、ライトモードとダークモードの切り替えが簡単になります。これにより、デザインの一貫性が保たれ、後から修正が必要になった場合でも、最小限の変更で対応できるようになります。

共通設計を意識したシンプルなサンプル

以下は、記事内容を踏まえたまとめとしてのシンプルなサンプルです。Bootstrapの基本的なclassを使いながら、ライトモードとダークモードで共通の変数設計を行っています。背景色と文字色を中心に設計することで、全体の見た目が自然に切り替わるようになっています。


<style>
    :root {
        --bs-body-bg: #ffffff;
        --bs-body-color: #212529;
        --bs-card-bg: #f8f9fa;
    }
    @media (prefers-color-scheme: dark) {
        :root {
            --bs-body-bg: #121212;
            --bs-body-color: #f1f3f5;
            --bs-card-bg: #1e1e1e;
        }
    }
    body {
        background-color: var(--bs-body-bg);
        color: var(--bs-body-color);
    }
</style>

<div class="card p-3 mb-3" style="background-color: var(--bs-card-bg);">
    <h5 class="card-title">ダークモード共通設計カード</h5>
    <p class="card-text">
        ライトモードとダークモードの両方で、読みやすさを保った表示になります。
    </p>
    <a href="#" class="btn btn-primary">ボタン</a>
</div>
ブラウザ表示

このように、共通の変数を定義しておくことで、カードやボタンなどのBootstrapコンポーネントも自然にライトモードとダークモードへ対応できます。背景や文字色だけでなく、境界線や影なども同じ考え方で拡張していくと、より完成度の高いデザインになります。Bootstrap ダークモード 変数設計を理解することは、実務でも役立つ重要なスキルです。

初心者がつまずかないためのポイント

初心者がダークモード対応を進める際は、一度にすべてを切り替えようとしないことが大切です。まずは背景色と文字色だけを変数化し、表示が正しく切り替わることを確認しましょう。その後、カード、ボタン、リンクといった要素を少しずつ追加していくことで、混乱せずに理解を深められます。

ダークモード対応は、見た目を変えるだけでなく、ユーザー体験を向上させる重要な要素です。BootstrapとSass変数を使った共通設計を身につけることで、柔軟で保守性の高いWebサイト制作ができるようになります。

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

生徒

「ライトモードとダークモードを別々に作らなくても、変数でまとめて管理できるんですね。」

先生

「そうです。変数設計を意識すると、Bootstrapのダークモード対応が一気に楽になります。」

生徒

「まずは背景色と文字色だけから始めるのがポイントなんですね。」

先生

「その通りです。少しずつ増やしていけば、自然と共通設計の考え方が身につきますよ。」

生徒

「Bootstrapの変数って、思っていたより奥が深いですね。」

先生

「理解できると、デザインも管理もしやすくなります。ぜひ実際の制作でも試してみてください。」

カテゴリの一覧へ
新着記事
New1
Bootstrap
Bootstrapのガターをマスター!g-0〜g-5とgx/gyの使い分けコツ
New2
CSS
CSSグリッド完全解説!auto-fitとauto-fillの違いとレスポンシブ設計での正しい使い分け
New3
Bootstrap
Bootstrapブレークポイントの設計図!sm/md/lg/xlの選び方と実務基準
New4
CSS
CSSグリッド入門!grid-areaで名前付き領域を使ったレイアウトの作り方をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSSフレックスボックス完全解説|Gridとの違いとFlexboxが得意なレイアウトパターンを初心者向けに理解しよう
No.7
Java&Spring記事人気No7
CSS
CSSの斜体文字を完全解説!初心者でもわかるfont-style: italicの使い方
No.8
Java&Spring記事人気No8
CSS
CSS Flexbox入門!display: flexの基本と適用方法を初心者向けに解説