Heim > Web-Frontend > CSS-Tutorial > Erstellen eines CSS-Dunkel-/Hellmodus-Umschalters

Erstellen eines CSS-Dunkel-/Hellmodus-Umschalters

WBOY
Freigeben: 2024-07-16 13:28:17
Original
546 Leute haben es durchsucht

Creating a CSS Dark/Light Mode Switcher

Dunkel- und Hellmodus-Umschalter erfreuen sich immer größerer Beliebtheit und bieten Benutzern die Flexibilität, ihr bevorzugtes visuelles Erlebnis zu wählen. Ganz gleich, ob es darum geht, die Belastung der Augen zu reduzieren, den Akku zu schonen oder einfach den persönlichen Vorlieben zu folgen, die Implementierung eines Dunkel-/Hellmodus-Umschalters kann das Benutzererlebnis erheblich verbessern. In diesem Artikel führen wir Sie durch die Erstellung eines einfachen, aber effektiven Dunkel-/Hellmodus-Umschalters mit HTML, CSS und JavaScript.

Warum den Dunkel-/Hellmodus implementieren?

1. Benutzerpräferenz: Einige Benutzer bevorzugen den Dunkelmodus aus ästhetischen Gründen oder zur Reduzierung der Augenbelastung, insbesondere in Umgebungen mit wenig Licht.

2. Barrierefreiheit:Verbesserung der Barrierefreiheit durch das Angebot eines Themas, das sehbehinderten Benutzern helfen kann.

3. Batteriesparen:Auf OLED-Bildschirmen kann der Dunkelmodus die Batterielebensdauer verlängern.

Einrichten der HTML-Struktur

Erstellen Sie zunächst eine einfache HTML-Struktur. Wir benötigen eine Taste, um zwischen dunklem und hellem Modus umzuschalten.

<!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>
Nach dem Login kopieren

Styling mit CSS

Als nächstes definieren wir unsere Stile für den dunklen und hellen Modus. Wir verwenden CSS-Variablen, um den Themenwechsel zu erleichtern.

/* 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;
}
Nach dem Login kopieren

Hinzufügen von JavaScript-Funktionalität

Jetzt fügen wir das JavaScript hinzu, um den Theme-Wechsel zu handhaben. Wir speichern die Präferenz des Benutzers auch in localStorage, sodass seine Auswahl über mehrere Sitzungen hinweg bestehen bleibt.

// 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);
    });
});
Nach dem Login kopieren

Erläuterung

1. CSS-Variablen: Wir verwenden CSS-Variablen, um die Farben für beide Modi zu definieren, sodass Sie einfach zwischen ihnen wechseln können.

2. JavaScript: Wir fügen der Schaltfläche einen Ereignis-Listener hinzu, um die Dark-Mode-Klasse für das Body-Element umzuschalten. Wir aktualisieren auch den Schaltflächentext basierend auf dem aktuellen Modus und speichern den Modus in localStorage.

3. Dauerhaftes Design: Wenn die Seite geladen wird, überprüfen wir localStorage auf die Präferenz des Benutzers und wenden das entsprechende Design an.

Abschluss

Die Implementierung eines Dunkel-/Hellmodus-Umschalters verbessert das Benutzererlebnis, indem visuelle Optionen bereitgestellt werden, die auf unterschiedliche Vorlieben und Bedingungen eingehen. Mit nur wenigen Zeilen HTML, CSS und JavaScript können Sie diese wertvolle Funktion zu Ihren Webprojekten hinzufügen.

Experimentieren Sie gerne mit erweiterten Funktionen wie sanften Übergängen oder zusätzlichen Themen. Die Möglichkeiten sind endlos und Ihre Benutzer werden die zusätzliche Flexibilität zu schätzen wissen.

Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonErstellen eines CSS-Dunkel-/Hellmodus-Umschalters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage