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;}

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.jsdocument.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);    });});

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. Persistentes Design: Wenn die Seite geladen wird, überprüfen wir localStorage auf die Präferenzen 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.

Fühlen Sie sich frei, mit erweiterten Funktionen zu experimentieren, wie etwa 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!

","image":"http://www.luping.net/uploads/20240730/172233036366a8acfbc7557.jpg","datePublished":"2024-07-30T17:06:02+08:00","dateModified":"2024-07-30T17:06:02+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Erstellen eines CSS-Dunkel-/Hellmodus-Umschalters

Erstellen eines CSS-Dunkel-/Hellmodus-Umschalters

Veröffentlicht am 30.07.2024
Durchsuche:297

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 Bereitstellung 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 Schaltfläche zum Umschalten zwischen dunklem und hellem Modus.



    Dark/Light Mode Switcher

Dark/Light Mode Switcher

Toggle the button to switch between dark and light modes.

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;
}

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);
    });
});

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. Persistentes Design: Wenn die Seite geladen wird, überprüfen wir localStorage auf die Präferenzen 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.

Fühlen Sie sich frei, mit erweiterten Funktionen zu experimentieren, wie etwa 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!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/mdhassanpatwary/creating-a-css-darklight-mode-switcher-26cd?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

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