====== LU03: Light Dark Mode Switch mit JavaScript ====== **Ziel von LU03:** Sie erweitern Ihre Landingpage um drei Dinge: \\ * Favicon verlinken * Feature-Icons mit CSS Pseudo-Elementen umsetzen * Light Dark Mode Switch stylen und mit JavaScript funktional machen **Wichtig:** Ihr Code darf sich von den Beispielen unterscheiden. Entscheidend ist, dass Ihr Ergebnis im Browser korrekt funktioniert und Ihr Code verständlich bleibt. ===== Voraussetzungen ===== Ihr Stand nach LU02 ist vorhanden und funktioniert im Desktop und Mobile Layout. **Hilfreiche Links** \\ * MDN Favicon: [[https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel#icon|rel="icon"]] * MDN Pseudo-Elemente: [[https://developer.mozilla.org/en-US/docs/Web/CSS/::before|::before]] * MDN classList: [[https://developer.mozilla.org/en-US/docs/Web/API/Element/classList|classList]] * MDN addEventListener: [[https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener|addEventListener]] * MDN Checkbox change event: [[https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event|change event]] ===== Schritt 1 Favicon verlinken ===== {{:de:modul:m291:learningunits:lu03:aufgaben:screenshot_2026-02-23_at_09.29.47.png?nolink&400|Screenshot mit Browsertab und Favicon}} \\ //Screenshot mit Browsertab und Favicon// **Aufgabe** * Ergänzen Sie im ''%%%%'' Ihrer HTML-Datei ein Favicon. * Verwenden Sie dazu ein ''%%%%'' Tag mit ''rel="icon"''. * Achten Sie darauf, dass der Pfad zu Ihrer Datei stimmt (z.B. ''./resources/favicon.ico''). **Checkliste** * Das Icon erscheint im Browser-Tab (auf Chrome oder Firefox testen, Safari zeigt das Favicon nicht an (weil File lokal gespeichert ist)). * In DevTools → Network gibt es keinen 404 Fehler für das Favicon. ===== Schritt 2 Feature-Icons mit Pseudo-Elementen umsetzen ===== {{:de:modul:m291:learningunits:lu03:aufgaben:screenshot_2026-02-23_at_09.28.00.png?nolink&400|}} \\ Sie haben in Ihrer Info-Zeile zwei Feature-Texte, z.B. „No credit card required". Vor jedem Text soll ein Icon erscheinen. **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) {{:de:modul:m291:learningunits:lu03:aufgaben:1_p0ryo3ias6k1zbyv9kusva.png?nolink&400|}} \\ //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 (The Div Soup) mit HTML und CSS:**

The Div Soup

body { background-color: #000000; } h1 { color: #fff; } h1::before { content: "🚀"; /* Add a rocket icon before the text */ } h1::after { content: "🔥"; /* Add a fire icon after the text */ }
Kurze Erklärung: Wir betten die grünen OK-Haken per CSS ein und nicht als ''%%%%''-Tag, weil sie keinen eigenen Inhalt transportieren. Sie sind reine Dekoration. So können wir das Icon einmal in einer CSS-Regel definieren und dann auf mehrere Elemente anwenden. **Aufgabe** * Ergänzen Sie bei ''.icon-ok'' sinnvolle Innenabstände links, damit Platz für ein Icon entsteht. * Setzen Sie ''.icon-ok'' auf ''position: relative''. * Nutzen Sie ''.icon-ok::before'', um das Icon einzufügen. * Positionieren Sie das Icon mit ''position: absolute'' links neben dem Text. Bei Pseudo-Elementen können Sie Icons z.B. über ''content: url(...)'' einfügen. /* Aufgabe: Platz schaffen und Positionierung vorbereiten */ .icon-ok { /* z.B. padding-left setzen */ /* position: relative */ } /* Aufgabe: Icon einfügen und positionieren */ .icon-ok::before { /* content: url("PFAD_ZUM_ICON") */ /* position: absolute */ /* left: 0; top: ... */ } **Checkliste** * Vor beiden Feature-Texten steht ein Icon. * Das Icon überlappt den Text nicht. * Der Abstand wirkt im Desktop und Mobile sauber. ===== Video Switch Dark Light Mode ===== {{:de:modul:m291:learningunits:lu03:aufgaben:m291_lu03_dark-light-switch.mp4?1040x585|Video mit Erklärung zum Dark Light Mode.}} \\ //Video mit Erklärung zum Dark Light Mode und dessen Umsetzung.// ===== Schritt 3 Switch Styling einbauen ===== {{:de:modul:m291:learningunits:lu03:aufgaben:screenshot_2026-02-23_at_09.32.33.png?nolink&300|}} \\ //Aus der Checkbox wird ein Switch. Nutzen Sie dazu den vorgegebenen Code unten.// Jetzt stylen Sie die Checkbox als Switch. Den folgenden Code dürfen Sie 1 zu 1 übernehmen. **Aufgabe** * Ergänzen Sie im HTML im ''%%