Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:m291:learningunits:lu03:aufgaben:a_dark_light_switch [2026/02/23 10:20] – gkoch | de:modul:m291:learningunits:lu03:aufgaben:a_dark_light_switch [2026/02/23 15:23] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 14: | Zeile 14: | ||
| ===== Voraussetzungen ===== | ===== Voraussetzungen ===== | ||
| - | * Ihr Stand nach LU02 ist vorhanden und funktioniert im Desktop und Mobile Layout. | + | |
| + | Ihr Stand nach LU02 ist vorhanden und funktioniert im Desktop und Mobile Layout. | ||
| <WRAP center round tip 70%> | <WRAP center round tip 70%> | ||
| Zeile 33: | Zeile 34: | ||
| **Aufgabe** | **Aufgabe** | ||
| - | * Ergänzen Sie im ''< | + | * Ergänzen Sie im '' |
| - | * Verwenden Sie dazu ein ''< | + | * Verwenden Sie dazu ein '' |
| * Achten Sie darauf, dass der Pfad zu Ihrer Datei stimmt (z.B. '' | * Achten Sie darauf, dass der Pfad zu Ihrer Datei stimmt (z.B. '' | ||
| Zeile 46: | Zeile 47: | ||
| **Checkliste** | **Checkliste** | ||
| - | * Das Icon erscheint im Browser-Tab. | + | * Das Icon erscheint im Browser-Tab |
| * In DevTools → Network gibt es keinen 404 Fehler für das Favicon. | * In DevTools → Network gibt es keinen 404 Fehler für das Favicon. | ||
| Zeile 52: | Zeile 53: | ||
| {{: | {{: | ||
| - | + | \\ | |
| - | Sie haben in Ihrer Info-Zeile zwei Feature-Texte, | + | Sie haben in Ihrer Info-Zeile zwei Feature-Texte, |
| <WRAP center round box 80%> | <WRAP center round box 80%> | ||
| + | **Beispiel für das Anwenden von Pseudo-Elementen** (nicht so umzusetzen im Projekt Landingpage Alarado, sondern wie oben abgebildet -> Feature-Texte mit grünem Haken) | ||
| {{: | {{: | ||
| \\ | \\ | ||
| //Wenn wir vor oder nach einem Text ein Icon oder Emoji einblenden möchten, eignen sich Pseudo-Elemente sehr gut.// | //Wenn wir vor oder nach einem Text ein Icon oder Emoji einblenden möchten, eignen sich Pseudo-Elemente sehr gut.// | ||
| - | **Umsetzung des im Bild oben gezeigten Designs mit HTML und CSS:** | + | |
| + | **Umsetzung des im Bild oben gezeigten Designs | ||
| <code html> | <code html> | ||
| < | < | ||
| Zeile 68: | Zeile 72: | ||
| <code css> | <code css> | ||
| + | body { | ||
| + | background-color: | ||
| + | } | ||
| + | |||
| h1 { | h1 { | ||
| color: #fff; | color: #fff; | ||
| Zeile 82: | Zeile 90: | ||
| </ | </ | ||
| - | Kurze Erklärung: Wir betten die grünen OK-Haken per CSS ein und nicht als ''< | + | Kurze Erklärung: Wir betten die grünen OK-Haken per CSS ein und nicht als '' |
| **Aufgabe** | **Aufgabe** | ||
| Zeile 117: | Zeile 125: | ||
| ===== Video Switch Dark Light Mode ===== | ===== Video Switch Dark Light Mode ===== | ||
| + | |||
| <WRAP center round box 80%> | <WRAP center round box 80%> | ||
| {{: | {{: | ||
| Zeile 132: | Zeile 141: | ||
| **Aufgabe** | **Aufgabe** | ||
| - | * Ergänzen Sie im HTML im ''< | + | * Ergänzen Sie im HTML im '' |
| - | * Fügen Sie den CSS-Block unterhalb Ihrer bestehenden Styles ein, dort wo im Template „Switch Styles“ vorgesehen sind. | + | * Fügen Sie den CSS-Block unterhalb Ihrer bestehenden Styles ein, dort wo im Template „Switch Styles" |
| * Kontrollieren Sie die Pfade zu den Icons im '' | * Kontrollieren Sie die Pfade zu den Icons im '' | ||
| Zeile 145: | Zeile 154: | ||
| </ | </ | ||
| </ | </ | ||
| + | </ | ||
| + | <WRAP center box round 80%> | ||
| **CSS** | **CSS** | ||
| <code css> | <code css> | ||
| Zeile 220: | Zeile 231: | ||
| ===== Schritt 4 Dark Mode Klasse vorbereiten ===== | ===== Schritt 4 Dark Mode Klasse vorbereiten ===== | ||
| - | Sie steuern den Dark Mode über eine CSS-Klasse auf dem ''< | + | Sie steuern den Dark Mode über eine CSS-Klasse auf dem '' |
| **Aufgabe** | **Aufgabe** | ||
| Zeile 233: | Zeile 244: | ||
| Schreiben Sie die Regeln so, dass Sie nicht überall neue Farben kopieren, sondern Ihre Variablen verwenden. | Schreiben Sie die Regeln so, dass Sie nicht überall neue Farben kopieren, sondern Ihre Variablen verwenden. | ||
| \\ | \\ | ||
| - | Setzen Sie zum Testen provisorisch die Klasse '' | + | Setzen Sie zum Testen provisorisch die Klasse '' |
| </ | </ | ||
| Zeile 257: | Zeile 268: | ||
| **Checkliste** | **Checkliste** | ||
| - | * Wenn die Klasse '' | + | * Wenn die Klasse '' |
| * Text bleibt gut lesbar. | * Text bleibt gut lesbar. | ||
| * Navigation bleibt sichtbar. | * Navigation bleibt sichtbar. | ||
| Zeile 265: | Zeile 276: | ||
| Damit Sie den Switch funktional machen können, brauchen Sie in JavaScript Zugriff auf: | Damit Sie den Switch funktional machen können, brauchen Sie in JavaScript Zugriff auf: | ||
| * die Checkbox im Switch | * die Checkbox im Switch | ||
| - | * das Root-Element ''< | + | * das Root-Element '' |
| - | * das Logo-''< | + | * das Logo-'' |
| **Aufgabe** | **Aufgabe** | ||
| Zeile 280: | Zeile 291: | ||
| {{: | {{: | ||
| \\ | \\ | ||
| - | //Folgender Code muss im ''< | + | //Folgender Code muss im '' |
| <WRAP center box round 80%> | <WRAP center box round 80%> | ||
| <code javascript> | <code javascript> | ||
| // Aufgabe: DOM-Elemente abrufen und in Variablen speichern | // Aufgabe: DOM-Elemente abrufen und in Variablen speichern | ||
| - | // const checkbox = (Switch) | + | // const checkbox = ... (Switch) |
| - | // const html = (Root-Element) | + | // const html = ... (Root-Element) |
| - | // const logo = (img) | + | // const logo = ... (img) |
| </ | </ | ||
| </ | </ | ||
| - | |||
| ===== Schritt 6 Funktion zum Umschalten schreiben ===== | ===== Schritt 6 Funktion zum Umschalten schreiben ===== | ||
| Jetzt schreiben Sie eine Funktion, die beim Umschalten drei Dinge erledigt: | Jetzt schreiben Sie eine Funktion, die beim Umschalten drei Dinge erledigt: | ||
| - | * entscheidet | + | * Entscheidet |
| - | * fügt die Klasse '' | + | * Fügt die Klasse '' |
| - | * tauscht | + | * Tauscht |
| <WRAP center round tip 70%> | <WRAP center round tip 70%> | ||
| - | Nutzen Sie für das Setzen der Klasse auf dem ''< | + | Nutzen Sie für das Setzen der Klasse auf dem '' |
| </ | </ | ||
| Zeile 330: | Zeile 340: | ||
| **Aufgabe** | **Aufgabe** | ||
| * Setzen Sie auf die Checkbox einen Event Listener. | * Setzen Sie auf die Checkbox einen Event Listener. | ||
| - | * Reagieren Sie auf das Ereignis '' | + | * Reagieren Sie auf das Ereignis '' |
| * Rufen Sie in der Callback-Funktion Ihre Toggle-Funktion auf. | * Rufen Sie in der Callback-Funktion Ihre Toggle-Funktion auf. | ||
| Zeile 353: | Zeile 363: | ||
| **Aufgabe** | **Aufgabe** | ||
| - | * Rufen Sie Ihre Toggle-Funktion einmal beim Laden auf. | + | * Rufen Sie Ihre Toggle-Funktion einmal beim Laden auf, oder schreiben Sie eine kleine Initial-Funktion. |
| * Test: Seite neu laden, ohne zu klicken. | * Test: Seite neu laden, ohne zu klicken. | ||
| Zeile 367: | Zeile 377: | ||
| ==== Testfälle ==== | ==== Testfälle ==== | ||
| * Switch klicken: Dark Mode ein, dann wieder aus | * Switch klicken: Dark Mode ein, dann wieder aus | ||
| - | * Seite neu laden: Zustand bleibt konsistent (keine „falsche“ Startfarbe) | + | * Seite neu laden: Zustand bleibt konsistent (keine „falsche" |
| * Mobile Ansicht: Layout bleibt korrekt, Switch ist je nach Ihrem CSS sichtbar oder ausgeblendet | * Mobile Ansicht: Layout bleibt korrekt, Switch ist je nach Ihrem CSS sichtbar oder ausgeblendet | ||