Heim > Artikel > Web-Frontend > So schalten Sie Ihre Website mithilfe von CSS und JavaScript in den Dunkelmodus
Der Dunkelmodus ist eine Anzeigeeinstellung, die einen dunklen Hintergrund mit hellem Text und hellen Elementen verwendet. Es hat an Popularität gewonnen, weil es gut aussieht und mehrere praktische Vorteile bietet.
Zu den Vorteilen des Dunkelmodus gehören:
In diesem Tutorial erfahren Sie, wie Sie Ihre Website mithilfe von CSS und JavaScript in den Dunkelmodus schalten. Wir beginnen mit einer einfachen Webseitenvorlage mit hellem Thema und verwandeln sie in eine Website mit einem umschaltbaren Hell-/Dunkel-Modus, sodass Benutzer reibungslos zwischen hellen und dunklen Themen wechseln können.
Beginnen wir mit einer einfachen Webseitenvorlage mit Lichtthema. Anschließend verwandeln wir es in eine Website mit einem umschaltbaren Hell-/Dunkel-Modus, sodass Benutzer zwischen hellen und dunklen Themen wechseln können.
Der erste Schritt besteht darin, alle von uns verwendeten Farben aufzulisten und für jede eine Version mit dunklem Thema auszuwählen. In der Tabelle unten habe ich alle Farben auf der Seite und ihre entsprechenden dunklen Versionen aufgelistet.
Name | Light version | Dark version |
---|---|---|
body-bg | #f4f4f4 | #121212 |
primary-text | #333333 | #e0e0e0 |
header-footer-bg | #333333 | #181818 |
header-footer-text | #ffffff | #ffffff |
section-bg | #ffffff | #1f1f1f |
secondary-text | #006baf | #1e90ff |
shadow | rgba(0, 0, 0, 0.1) | rgba(0, 0, 0, 0.2) |
Wir verwenden dann CSS-Variablen, um mit diesen Variablen eine dunkle und eine helle Klasse für den Körper zu erstellen.
body.dark { --body-bg: #121212; --primary-text: #e0e0e0; --header-footer-bg: #1f1f1f; --header-footer-text: #ffffff; --section-bg: #1f1f1f; --secondary-text: #1e90ff; --shadow: rgba(0, 0, 0, 0.2); } body.light { --body-bg: #f4f4f4; --primary-text: #333333; --header-footer-bg: #333333; --header-footer-text: #ffffff; --section-bg: #ffffff; --secondary-text: #006baf; --shadow: rgba(0, 0, 0, 0.1); }
Informationen zu CSS-Variablen finden Sie unter „Benutzerdefinierte CSS-Eigenschaften verwenden“. Im Wesentlichen handelt es sich dabei um Entitäten, die durch zwei Bindestriche (--) definiert werden und Werte zur Wiederverwendung in einem Dokument speichern. CSS-Variablen erleichtern die Wartung, indem sie die automatische Aktualisierung von Änderungen ermöglichen.
Wir verwenden die CSS-Funktion var(), um die Werte der CSS-Variablen einzufügen. Auf diese Weise können wir die Farbe dynamisch ändern und eine Variable aktualisieren, um Änderungen im gesamten Dokument widerzuspiegeln, anstatt jede einzelne manuell zu ändern.
Hier ist ein Beispiel für das Navigationselement und seine untergeordneten Elemente:
body { background-color: var(--body-bg); color: var(--primary-text); } header, footer { background-color: var(--header-footer-bg); color: var(--header-footer-text); } article { background-color: var(--section-bg); box-shadow: 0 4px 8px var(--shadow); } a { color: var(--secondary-text); }
Jetzt können wir die Klasse des Körpers in dunkel oder hell ändern, um das Thema zu ändern. Fügen Sie zunächst eine Schaltfläche zum Header hinzu und legen Sie die Funktion changeTheme() für ihr Klickereignis fest:
<button onclick="changeTheme()" class="theme-toggle"> <svg> <!-- icon --> </svg> </button>
Definieren Sie die Funktion changeTheme(), die die Klasse des Körpers umschaltet:
function changeTheme() { if (document.body.classList.contains('light')) { document.body.classList.remove('light'); document.body.classList.add('dark'); } else { document.body.classList.remove('dark'); document.body.classList.add('light'); } }
Und jetzt können Benutzer das Thema der Website ändern, indem sie auf die Schaltfläche klicken.
Sie können den Code des Tutorials im CodePen unten sehen
Darüber hinaus können Sie die Designpräferenz des Benutzers im lokalen Speicher speichern. Durch die Aktualisierung der Funktion „changeTheme()“, um das ausgewählte Thema zu speichern und beim Laden der Seite darauf zu prüfen, wird sichergestellt, dass die Auswahl des Benutzers gespeichert und bei seinem nächsten Besuch automatisch angewendet wird.
function changeTheme() { if (document.body.classList.contains('light')) { document.body.classList.remove('light'); document.body.classList.add('dark'); } else { document.body.classList.remove('dark'); document.body.classList.add('light'); } // Save the current theme in localStorage const theme = document.body.classList.contains('dark') ? 'dark' : 'light'; localStorage.setItem('theme', theme); } document.addEventListener('DOMContentLoaded', function () { // Get the saved theme from localStorage when the page loads const savedTheme = localStorage.getItem('theme') || 'light'; document.body.classList.add(savedTheme); });
Hinzufügen des Farbschemas: dunkel; Die Eigenschaft kann im dunklen Design auch dafür sorgen, dass der Stil einiger Elemente, deren Stil sonst schwer zu gestalten ist, vom Browser geändert wird.
body.dark { color-scheme: dark; }
Zusammenfassend lässt sich sagen, dass das Hinzufügen des Dunkelmodus zu Ihrer Website das Benutzererlebnis verbessern kann, indem die Belastung der Augen verringert und die Akkulaufzeit auf OLED-Bildschirmen verlängert wird. Wenn Sie dieser Anleitung folgen, können Sie mithilfe von CSS und JavaScript ganz einfach einen Hell-Dunkel-Modus-Umschalter einrichten. Passen Sie den Dunkelmodus an Ihr Design an.
Teilen Sie Ihre Implementierungen oder stellen Sie Fragen in den Kommentaren unten.
Das obige ist der detaillierte Inhalt vonSo schalten Sie Ihre Website mithilfe von CSS und JavaScript in den Dunkelmodus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!