ホームページ >ウェブフロントエンド >H5 チュートリアル >CSSとHTML5でダークモードを実装する方法は?
この記事では、HTML5とCSSを使用してWebサイトにダークモードを実装する方法について説明します。これは、明るいスタイルシートを作成する(またはCSS変数を使用)、JavaScriptを介してそれらを切り替え、効果的なダークモードのために重要なCSSプロパティを切り替えます。 acc
CSSとHTML5を使用してダークモードを実装するのは比較的簡単です。 Core Conceptは、CSSを使用して、Webサイトの2つの異なるモード、Light and Darkのスタイルを中心に展開します。これは通常、JavaScript(または他のクライアント側のスクリプト)を介して切り替えるCSSクラスまたは変数を使用して達成されます。
まず、1つのスタイルシート内に2つの異なるスタイルシート、または2つのスタイルシートを作成する必要があります。1つはライトモード用、もう1つはダークモード用です。ライトモードのスタイルは、デフォルトスタイルになります。ダークモードのスタイルは、低光環境で読みやすさを改善するために、色、背景、および潜在的にテキストのコントラストを反転または調整します。例えば:
<code class="css">/* Light Mode Styles */ body { background-color: #ffffff; color: #333333; } /* Dark Mode Styles */ .dark-mode body { background-color: #121212; color: #ffffff; } .dark-mode h1 { color: #f0f0f0; /* Example: adjust heading color in dark mode */ }</code>
次に、ユーザーがダークモードの設定を切り替えるときにJavaScriptを使用して要素に「ダークモード」という名前のクラスを追加します。これにより、ダークモードのスタイルが適用されます。より洗練された制御と保守性のために、CSS変数(カスタムプロパティ)を使用することもできます。これについては、次のセクションでさらに説明します。
ユーザーの好みに基づいてダークモードをアクティブにするには、「ダークモード」クラスを追加または削除するために、簡単なトグルボタンとJavaScriptを追加する必要があります。これは、次のように簡単になる可能性があります。
<code class="javascript">const toggleSwitch = document.getElementById('darkModeToggle'); const body = document.body; toggleSwitch.addEventListener('change', function() { body.classList.toggle('dark-mode'); });</code>
これは、ID darkModeToggle
にトグルスイッチがあることを前提としています。このJavaScriptコードをHTMLファイル内に<script></script>
タグに含めることを忘れないでください。
効果的なダークモードを作成するには、いくつかのCSSプロパティが重要です。これらの特性により、視覚的な外観を制御し、低光条件で読みやすさを確保できます。重要なプロパティは次のとおりです。
background-color
:背景色を明るい色から暗くする(例えば、白から黒、または濃い灰色)を変更することは基本です。color
:テキストの色を対照的な色(たとえば、黒から白または明るい灰色)に調整すると、読みやすさが保証されます。--color-primary
、 --color-secondary
など(CSS変数): CSS変数を使用すると、一元化された色管理が可能になり、サイト全体で1回の変更で色を簡単に更新できます。これは、保守性に強くお勧めします。border-color
:コントラストと視覚的な一貫性を維持するために、境界色の色を調整します。box-shadow
: Box Shadowsの色を調整して、暗い背景とブレンドすることを検討してください。filter: invert()
:これは、色をすばやく反転させるために使用できますが、多くの場合、正確ではなく、複雑なデザインで予期しない結果につながる可能性があります。注意して使用してください。text-shadow
:微妙なテキストシャドウを追加すると、特定の暗い背景の読みやすさが向上します。適切なカラーパレットを選択することが最重要です。アクセシビリティのためにテキストと背景の間の十分なコントラストを目指します(以下のアクセシビリティセクションを参照)。 WebAimのコントラストチェッカーなどのツールは、適切なコントラスト比を確保するのに役立ちます。
最初のセクションで概説されているように、明るいモードとダークモードのシームレスな切り替えには、CSSとJavaScriptの組み合わせが含まれます。 CSS変数(カスタムプロパティ)を使用すると、プロセスが大幅に向上します。明るいモードとダークモードに個別のスタイルを定義する代わりに、CSS変数を使用して色の値やその他のスタイルを保存できます。これにより、ユーザーの好みに基づいてこれらの変数の値を変更し、テーマ全体を動的に更新できます。
例:
<code class="css">:root { --background-color: #ffffff; --text-color: #333333; } .dark-mode { --background-color: #121212; --text-color: #ffffff; } body { background-color: var(--background-color); color: var(--text-color); }</code>
JavaScriptは、 要素の
.dark-mode
クラスを単純に切り替えて、CSS変数の値、したがってテーマ全体を変更します。このアプローチにより、スタイルの維持と更新が容易になり、明るいモードとダークモードの間の矛盾が防止されます。これを拡張して、CSS変数を使用してすべての色とスタイルを管理できます。
はい、ダークモードを実装する場合、アクセシビリティが重要です。最も重要な考慮事項はコントラストです。明るいモードと暗いモードの両方で、テキストと背景色の間の十分なコントラストを確保します。少なくとも4.5:1のコントラスト比は、通常のテキストでは一般的に推奨され、より大きなテキストサイズではさらに高くなります。コントラストチェッカーツールを使用して、アクセシビリティガイドライン(WCAG)を満たす色の組み合わせを確認します。
その他のアクセシビリティの考慮事項は次のとおりです。
これらの側面を慎重に検討することにより、視覚的に魅力的で、すべてのユーザーがアクセスできる暗いモードを作成できます。
以上がCSSとHTML5でダークモードを実装する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。