ダーク モードとライト モードのスイッチャーの人気が高まっており、ユーザーは好みの視覚体験を柔軟に選択できます。目の疲れを軽減するためでも、バッテリー寿命を節約するためでも、単に個人の好みに従うためでも、ダーク/ライト モード スイッチャーを実装すると、ユーザー エクスペリエンスが大幅に向上します。この記事では、HTML、CSS、JavaScript を使用して、シンプルかつ効果的なダーク/ライト モード スイッチャーを作成する方法を説明します。
1.ユーザーの好み: 一部のユーザーは、特に低照度環境での美観や目の疲れの軽減のためにダーク モードを好みます。
2.アクセシビリティ: 視覚障害のあるユーザーを支援できるテーマを提供することで、アクセシビリティを向上させます。
3.バッテリーの節約: OLED スクリーンでは、ダーク モードによりバッテリー寿命を節約できます。
まず、単純な HTML 構造を作成します。ダークモードとライトモードを切り替えるボタンが必要です。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Dark/Light Mode Switcher</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="container"> <h1>Dark/Light Mode Switcher</h1> <button id="modeSwitcher">Switch to Dark Mode</button> <p>Toggle the button to switch between dark and light modes.</p> </div> <script src="script.js"></script> </body> </html>
次に、ダークモードとライトモードの両方のスタイルを定義します。 CSS 変数を使用して、テーマの切り替えを簡単にします。
/* styles.css */ :root { --bg-color: #ffffff; --text-color: #000000; --button-bg-color: #000000; --button-text-color: #ffffff; } body { background-color: var(--bg-color); color: var(--text-color); font-family: Arial, sans-serif; transition: background-color 0.3s ease, color 0.3s ease; } .container { text-align: center; margin-top: 50px; } button { background-color: var(--button-bg-color); color: var(--button-text-color); border: none; padding: 10px 20px; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; } button:hover { opacity: 0.8; } body.dark-mode { --bg-color: #333333; --text-color: #ffffff; --button-bg-color: #ffffff; --button-text-color: #000000; }
次に、テーマの切り替えを処理するための JavaScript を追加します。また、ユーザーの設定を localStorage に保存して、ユーザーの選択がセッション間で維持されるようにします。
// script.js document.addEventListener('DOMContentLoaded', () => { const switcher = document.getElementById('modeSwitcher'); const currentMode = localStorage.getItem('theme') || 'light'; if (currentMode === 'dark') { document.body.classList.add('dark-mode'); switcher.textContent = 'Switch to Light Mode'; } switcher.addEventListener('click', () => { document.body.classList.toggle('dark-mode'); const mode = document.body.classList.contains('dark-mode') ? 'dark' : 'light'; switcher.textContent = mode === 'dark' ? 'Switch to Light Mode' : 'Switch to Dark Mode'; localStorage.setItem('theme', mode); }); });
1. CSS 変数: CSS 変数を使用して両方のモードの色を定義し、モード間の切り替えを簡単にします。
2. JavaScript: body 要素のダークモード クラスを切り替えるために、ボタンにイベント リスナーを追加します。また、現在のモードに基づいてボタンのテキストを更新し、モードを localStorage に保存します。
3.永続的なテーマ: ページが読み込まれると、ユーザーの好みに合わせて localStorage を確認し、適切なテーマを適用します。
ダーク/ライト モード スイッチャーを実装すると、さまざまな好みや条件に応じた視覚的なオプションが提供され、ユーザー エクスペリエンスが向上します。わずか数行の HTML、CSS、JavaScript を使用して、この貴重な機能を Web プロジェクトに追加できます。
スムーズなトランジションやテーマの追加など、より高度な機能を自由に試してください。可能性は無限にあり、ユーザーは柔軟性の追加を高く評価するでしょう。
コーディングを楽しんでください!
以上がCSS ダーク/ライト モード スイッチャーの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。