Hey! Wenn Sie also wie ich sind und die ganze Dark-Mode-Atmosphäre lieben, haben Sie vielleicht darüber nachgedacht, ihn Ihrer Website hinzuzufügen. Die Einrichtung ist mit ein wenig CSS und JavaScript ziemlich einfach. So habe ich es gemacht.
Zunächst benötigen Sie eine Schaltfläche oder einen Schalter, auf den Benutzer klicken können, um zwischen hellem und dunklem Modus umzuschalten. Ich habe mich für dieses Beispiel für eine einfache Schaltfläche entschieden (Sie können bei Bedarf ein Symbol verwenden):
Diese Schaltfläche wird der Auslöser für den Moduswechsel sein.
Als nächstes müssen Sie definieren, wie Ihr Hell- und Dunkelmodus aussehen soll. In Ihrem CSS richten Sie die Standardstile ein (die Ihr heller Modus sein werden) und fügen dann eine Klasse für den dunklen Modus hinzu, die diese Stile überschreibt.
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
Hier ist, was passiert:
Jetzt kommt der Teil, in dem wir dafür sorgen, dass die Schaltfläche tatsächlich etwas tut. Dieser Teil von JavaScript schaltet die .dark-mode-Klasse im Textkörper um, wenn auf die Schaltfläche geklickt wird.
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'); } });
Hier ist eine Aufschlüsselung:
Um sicherzustellen, dass die Website im bevorzugten Modus des Benutzers geladen wird, müssen Sie localStorage überprüfen, wenn die Seite geladen wird, und den Modus entsprechend festlegen.
window.addEventListener('load', () => { const savedTheme = localStorage.getItem('theme'); if (savedTheme === 'dark') { body.classList.add('dark-mode'); } });
Wenn Sie React verwenden, ist der Prozess ziemlich ähnlich, aber Sie erledigen die Dinge innerhalb Ihrer Komponenten. So geht's:
Verwenden Sie den useState von React, um den Dunkelmodusstatus zu verwalten, und wenden Sie die entsprechende Klasse auf Ihr Stammelement an:
import React, { useState } from 'react'; function App() { const [darkMode, setDarkMode] = useState(false); const toggleDarkMode = () => { setDarkMode(!darkMode); }; return (); } export default App;
In diesem Beispiel:
Fügen Sie die .dark-mode-Klasse wie zuvor zu Ihrem CSS hinzu:
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
Wenn Sie möchten, dass die Theme-Präferenz bestehen bleibt, können Sie diese kleine Änderung hinzufügen:
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;
Hier ist, was passiert:
Und das ist es! Dies ist eine einfachere Möglichkeit, Ihrer React-App den Dunkelmodus hinzuzufügen, ohne die Dinge zu verkomplizieren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3