おい!したがって、あなたも私と同じで、ダーク モード全体の雰囲気が大好きなら、自分の Web サイトにダーク モードを追加することを考えたことがあるかもしれません。 CSS と JavaScript を少しだけ使用するだけで、非常に簡単に設定できます。私がやった方法は次のとおりです。
まず、ユーザーがクリックしてライト モードとダーク モードを切り替えるボタンまたはスイッチが必要です。この例ではシンプルなボタンを使用しました (必要に応じてアイコンを使用できます):
このボタンがモード切り替えのトリガーになります。
次に、ライト モードとダーク モードがどのように見えるかを定義する必要があります。 CSS で、デフォルトのスタイル (ライト モードになります) を設定し、これらのスタイルをオーバーライドするダーク モード クラスを追加します。
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
何が起こっているかは次のとおりです:
次は、ボタンに実際に何かを実行させる部分です。この JavaScript ビットは、ボタンがクリックされるたびに本文の .dark-mode クラスを切り替えます。
const toggleButton = document.getElementById('dark-mode-toggle'); const body = document.body; toggleButton.addEventListener('click', () => { body.classList.toggle('dark-mode'); // Save the user's preference in local storage if (body.classList.contains('dark-mode')) { localStorage.setItem('theme', 'dark'); } else { localStorage.setItem('theme', 'light'); } });
内訳は次のとおりです:
サイトがユーザーの優先モードで読み込まれるようにするには、ページの読み込み時に localStorage を確認し、それに応じてモードを設定する必要があります。
window.addEventListener('load', () => { const savedTheme = localStorage.getItem('theme'); if (savedTheme === 'dark') { body.classList.add('dark-mode'); } });
React を使用している場合、プロセスはかなり似ていますが、コンポーネント内で処理します。その方法は次のとおりです:
React の useState を使用してダーク モードの状態を管理し、適切なクラスをルート要素に適用します:
import React, { useState } from 'react'; function App() { const [darkMode, setDarkMode] = useState(false); const toggleDarkMode = () => { setDarkMode(!darkMode); }; return (); } export default App;
この例では:
前と同じように、.dark-mode クラスを CSS に追加します:
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
テーマ設定を維持したい場合は、次の小さな調整を追加できます:
import React, { useState, useEffect } from 'react'; function App() { const [darkMode, setDarkMode] = useState(() => { const savedTheme = localStorage.getItem('theme'); return savedTheme === 'dark'; }); useEffect(() => { localStorage.setItem('theme', darkMode ? 'dark' : 'light'); }, [darkMode]); return (); } export default App;
何が起こっているかは次のとおりです:
それで終わりです!これは、物事を過度に複雑にすることなく、React アプリにダーク モードを追加する簡単な方法です。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3