Dark/Light Mode Grundlagen
Teil des Abschnitts Practical Frontend der HTML-Journey von Coddy — Lektion 13 von 35.
Der Dark/Light-Mode ist eine beliebte Funktion, die es Benutzern ermöglicht, ihr bevorzugtes Farbschema zu wählen. Lassen Sie uns einen einfachen Dark/Light-Mode-Umschalter unter Verwendung von CSS-Variablen implementieren.
Definieren Sie zuerst die Farbvariablen für den Hellmodus im Root-Element und wenden Sie diese auf verschiedene Elemente an:
:root {
--background-color: #ffffff;
--text-color: #333333;
--heading-color: #000000;
}
body {
background-color: var(--background-color);
color: var(--text-color);
}
h1, h2, h3 {
color: var(--heading-color);
}Erstellen Sie als Nächstes eine Dark-Mode-Klasse, die diese Variablen überschreibt:
.dark-mode {
--background-color: #333333;
--text-color: #f5f5f5;
--heading-color: #ffffff;
}Jetzt steuert die .dark-mode-Klasse das Theme — wenn diese Klasse zum <body> hinzugefügt wird, ändern sich die Variablen und alle Elemente, die sie verwenden, werden automatisch aktualisiert.
<body class="dark-mode">
<!-- Ihr Seiteninhalt hier -->
</body>Um Modi dynamisch zu wechseln, benötigen wir ein wenig Hilfe von einer anderen Sprache namens JavaScript (JS), um die .dark-mode-Klasse hinzuzufügen oder zu entfernen. In dieser Lektion kannst du es manuell testen, indem du die Klasse im <body>-Tag hinzufügst oder entfernst.
Aufgabe
EinfachDeine Aufgabe:
- Füge eine
.dark-modeKlasse innerhalb des<style>Bereichs hinzu. - Überschreibe CSS-Variablen, um dunkle Farben für den Hintergrund, Text, Überschriften und Schaltflächen festzulegen.
- Teste es, indem du
class="dark-mode"zum<body>Tag hinzufügst.
Spickzettel
Verwenden Sie CSS-Variablen, um Dark/Light-Mode-Themes zu implementieren. Definieren Sie Light-Mode-Variablen in :root:
:root {
--background-color: #ffffff;
--text-color: #333333;
--heading-color: #000000;
}Wenden Sie Variablen auf Elemente an:
body {
background-color: var(--background-color);
color: var(--text-color);
}
h1, h2, h3 {
color: var(--heading-color);
}Erstellen Sie eine Dark-Mode-Klasse, die die Variablen überschreibt:
.dark-mode {
--background-color: #333333;
--text-color: #f5f5f5;
--heading-color: #ffffff;
}Schalten Sie zwischen den Themes um, indem Sie die Klasse .dark-mode zum <body>-Element hinzufügen oder daraus entfernen:
<body class="dark-mode">Probier es selbst
<!DOCTYPE html>
<html>
<head>
<title>Dark/Light Mode Basics</title>
<style>
/* Default light theme */
:root {
--background-color: #f0f4f8;
--text-color: #222222;
--heading-color: #003366;
--button-bg: #ffcc00;
--button-text: #000000;
}
body {
background-color: var(--background-color);
color: var(--text-color);
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
header {
background-color: var(--heading-color);
color: white;
padding: 2rem;
text-align: center;
}
header h1 {
margin: 0;
font-size: 2rem;
}
main {
padding: 2rem;
}
h2 {
color: var(--heading-color);
margin-top: 1.5rem;
}
p {
line-height: 1.6;
}
.button {
display: inline-block;
margin-top: 1rem;
padding: 0.75rem 1.5rem;
background-color: var(--button-bg);
color: var(--button-text);
border: none;
border-radius: 5px;
text-decoration: none;
font-weight: bold;
cursor: pointer;
}
footer {
background-color: var(--heading-color);
color: white;
text-align: center;
padding: 1rem;
margin-top: 2rem;
}
</style>
</head>
<body>
<header>
<h1>Olympic Games 2025</h1>
<p>Celebrating sports, unity, and excellence</p>
</header>
<main>
<h2>Top Sports</h2>
<p>From track and field to swimming and gymnastics, the Olympics showcase the best athletes in the world.</p>
<a href="#" class="button">See Medal Winners</a>
<h2>Host Cities</h2>
<p>Explore the exciting host cities where athletes come together to compete at the highest level.</p>
<a href="#" class="button">Learn More</a>
<h2>History</h2>
<p>The Olympic Games have a rich history dating back to ancient Greece, promoting peace, friendship, and fair competition.</p>
</main>
<footer>
© 2025 Olympic Games. All rights reserved.
</footer>
</body>
</html>
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Practical Frontend
1Variablen
VariablenCSS-Variablen verwendenVariablen für Design TokensLokale VariablenWiederholungs-Challenge7Abschlussherausforderungen
ProfilkarteSchokoladengalerie-RasterSieben WeltwunderNeue sieben Weltwunder3Theming & Visuelle Stile
Theming in CSSDark/Light Mode GrundlagenAkzentfarben & HervorhebungTypografie-ThemingRecap-Challenge