ホームページ ウェブフロントエンド CSSチュートリアル 数分でウェブサイトをダークモードに対応

数分でウェブサイトをダークモードに対応

Dec 27, 2024 pm 02:09 PM

Make Your Website Dark Mode Ready in Minutes

ユーザーの 80% 以上がアプリでダーク モードを望んでおり、Web アプリケーションにダーク モードを実装するには今が最適な時期です...

しかし、心配しないでください。CSS を書き直したり、さまざまな難しい学習プロセスを経たりするために多くのことを行う必要はありません。

15 分以内 (はい、本当にそうです) でサイトにダーク モード サポートを組み込む方法を共有します。

このチュートリアルが終わるまでに、システムを認識し、ユーザーに好印象を与えることができるエレガントなダーク モードを作成できるはずです。

システムレベルのダークモードについて

近年のダーク モードで非常に印象的なのは、複雑なテーマ スイッチャーを最初から作成する必要がないことです。

最新の OS はすでにユーザーのニーズに対応しており、ブラウザは CSS を使用してこれを簡単に実現します。

ここでの魔法は、prefers-color-scheme と呼ばれるメディア クエリを通じて発生します。次のようになります:

@media (prefers-color-scheme: dark) {

  /* Your dark mode styles go here */

}

ログイン後にコピー
ログイン後にコピー

ユーザーがシステム上で恐ろしいダーク モード スイッチを有効にすると、デフォルトでこのメディア クエリが有効になります。

これにより、ユーザーの好みに応じて Web サイトのスタイルを自動的に調整できます。

良いことに、最新のブラウザのほとんどはこれをそのままサポートしているということです。 Chrome、Firefox、Safari、Edge について話しています – これらはすべて搭載されています...

これは、追加の JavaScript や複雑なロジックを使用せずにシステムレベルの設定を利用できることを意味します。

楽しい部分に移りましょう – これを実際にコードに実装してみましょう。

迅速な実装方法

早速本題に入りましょう。最初に行う必要があるのは、CSS でカラー変数を設定することです。その方法は次のとおりです:

/* In your root CSS file */
:root {
  /* Light mode colors (default) */
  --background: #ffffff;
  --text: #333333;
  --surface: #f5f5f5;
  --accent: #0066cc;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Dark mode colors */
    --background: #1a1a1a;
    --text: #ffffff;
    --surface: #2d2d2d;
    --accent: #66b3ff;
  }
}
ログイン後にコピー
ログイン後にコピー

ここで、色をハードコーディングする代わりに、これらの変数を使用します。このように:

body {
  background-color: var(--background);
  color: var(--text);
}

.card {
  background-color: var(--surface);
}

.button {
  background-color: var(--accent);
}
ログイン後にコピー

文字通りそれだけです! Web サイトは、ユーザーのシステム設定に基づいて、ライト モードとダーク モードの間で自動的に切り替わります。 JavaScript も面倒なロジックも不要 – クリーンでシンプルな CSS。

簡単なヒント: 基本的な色から始めて、ブランドに応じて調整してください。最初はあまり心配しないでください。後でいつでも戻ってきて調整できます。

高度なタッチ

上記のコードを使用すると、Web サイトは完璧に機能するはずですが、ダーク モードの実装を本当にプロフェッショナルなものにするために、さらに磨きをかけましょう。

これらの調整にはほんの数分しかかかりませんが、大きな違いが生じます:

まず、モードの切り替えが不快にならないように、スムーズなトランジションを追加します。

:root {
  --background: #ffffff;
  --text: #333333;
  /* Add this line */
  transition: background-color 0.3s ease, color 0.3s ease;
}
ログイン後にコピー

画像、特にロゴの場合、次のメディア クエリを追加してエレガントに処理します。

@media (prefers-color-scheme: dark) {
  img {
    /* Slightly dim non-essential images */
    opacity: 0.8;
  }

  /* But keep logos crisp */
  .logo {
    opacity: 1;
    filter: brightness(1.2);
  }
}
ログイン後にコピー

テーマ切り替えボタンの追加

システム設定を上書きしたいユーザーのために、手動テーマスイッチャーを追加しましょう。

完全な実装は次のとおりです:

まず、トグル ボタンに次の HTML を追加します。

@media (prefers-color-scheme: dark) {

  /* Your dark mode styles go here */

}

ログイン後にコピー
ログイン後にコピー

そして、これがすべて機能する JavaScript です:

/* In your root CSS file */
:root {
  /* Light mode colors (default) */
  --background: #ffffff;
  --text: #333333;
  --surface: #f5f5f5;
  --accent: #0066cc;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Dark mode colors */
    --background: #1a1a1a;
    --text: #ffffff;
    --surface: #2d2d2d;
    --accent: #66b3ff;
  }
}
ログイン後にコピー
ログイン後にコピー

このコードは、次の切り替え可能なボタンを提供します。

  • デフォルトでユーザーのシステム設定を尊重します
  • 手動設定をローカルストレージに保存します
  • ページをリロードしても保持されます
  • 現在のテーマに基づいて太陽/月のアイコンを表示します
  • モード間のスムーズな移行

プロのヒント: アイコンは自由にカスタマイズできます。SVG を使用したり、より精巧なスイッチ デザインを作成したりすることもできます。現在のテーマが何であるかが明らかであることを確認してください!

結論

それでは、どうぞ — あなたのサイトには、専門的に作成された完全に機能するダーク モード機能が追加されました。

システム対応のテーマ、スムーズなアニメーション、正しい画像レンダリング、さらには優れたトグル ボタンも備えています。

初日にすべてを完璧にする必要はありません。覚えておいてください。

裸の実装を実行し、プッシュし、ユーザーがサイトを使用するにつれて変更を加えます。

ユーザーは、完全に機能していない場合でも、ダーク モードを喜んで受け取るでしょう。

以上が数分でウェブサイトをダークモードに対応の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

あなたが見ている間、CSSグラデーションは良くなりました あなたが見ている間、CSSグラデーションは良くなりました Apr 11, 2025 am 09:16 AM

Lea verou' conic-gradient()Polyfillの機能のリストに目を向けたことの1つが最後の項目でした。

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

WordPressテーマでVueコンポーネントを構築する方法 WordPressテーマでVueコンポーネントを構築する方法 Apr 11, 2025 am 11:03 AM

インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

PHPはテンプレートのA-OKです PHPはテンプレートのA-OKです Apr 11, 2025 am 11:04 AM

PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう

3種類のコード 3種類のコード Apr 11, 2025 pm 12:02 PM

新しいプロジェクトを開始するたびに、3つのタイプ、または必要に応じてカテゴリを検討しているコードを整理します。そして、これらのタイプは適用できると思います

See all articles