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

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 変数 共通設計」といったキーワードを記事に含めることで、学習中の初心者にも見つけてもらいやすくなります。

カテゴリの一覧へ
新着記事
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
CSS
CSSの文字色と背景色をやさしく解説!初心者でもわかる基本の設定方法
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrap 5のモーダルとオフキャンバスを完全ガイド!初心者がつまずくポイントも解説