Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:m291:learningunits:lu02:aufgaben:a_projekt_styles [2026/02/02 01:36] – angelegt gkoch | de:modul:m291:learningunits:lu02:aufgaben:a_projekt_styles [2026/02/02 02:19] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== | + | ====== |
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **Ziel:** Sie ergänzen im bestehenden LU01-Projekt die **TODO in LU02**: | ||
| + | \\ | ||
| + | - Google Font einbinden | ||
| + | - CSS-Variablen in '': | ||
| + | - Typografie, Navigation und Buttons gemäss Design stylen | ||
| + | - Responsive Anpassungen mit einer Media Query umsetzen | ||
| + | |||
| + | Ziel-Layout: | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | ==== Voraussetzungen ==== | ||
| + | * Sie arbeiten im bereitgestellten '' | ||
| + | |||
| + | <WRAP center round download 80%> | ||
| + | Ausgangslage: | ||
| + | {{: | ||
| + | |||
| + | Falls Sie in der letzten Unterrichtseinheit nicht weit gekommen sind, laden Sie sich dieses HTML-File herunter und verbessern Sie Ihren Code nach dieser Vorlage. | ||
| + | {{ : | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Arbeitsweise ==== | ||
| + | * Arbeiten Sie von oben nach unten im Template. | ||
| + | * Nach jedem Schritt: speichern → Browser aktualisieren → Ergebnis prüfen. (oder mit Live-Server – aktualisiert automatisch) | ||
| + | * Wenn etwas nicht funktioniert: | ||
| + | |||
| + | <WRAP center round tip 70%> | ||
| + | **Hilfreiche Links** | ||
| + | \\ | ||
| + | * Google Fonts: [[https:// | ||
| + | * MDN: CSS Custom Properties: [[https:// | ||
| + | * MDN: Media Queries: [[https:// | ||
| + | * DevTools Responsive Mode: [[https:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Schritt 1: Google Font Poppins einbinden ===== | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Öffnen Sie [[https:// | ||
| + | * Klicken Sie auf //Get Font// | ||
| + | * Kopieren Sie den vorgeschlagenen ''< | ||
| + | * Setzen Sie im '' | ||
| + | |||
| + | |||
| + | ===== Schritt 2: CSS-Variablen in :root definieren ===== | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Füllen Sie den Block '': | ||
| + | * Definieren Sie Variablen für: | ||
| + | - Farben für Hintergrund und Text | ||
| + | - Aktive Linkfarbe | ||
| + | - Schriftgrössen und Schriftschnitte (=font-weight) für Navigation, h1, h3, Buttons | ||
| + | * Werte nehmen Sie aus dem Figma-Design. | ||
| + | * Nutzen Sie '' | ||
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **Beispielstruktur für :root** | ||
| + | <code css> | ||
| + | :root { | ||
| + | /* Farben */ | ||
| + | --color-bg-light: | ||
| + | --color-text-light: | ||
| + | --color-accent: | ||
| + | |||
| + | /* Typografie */ | ||
| + | --size-h1-desktop: | ||
| + | --size-h1-mobile: | ||
| + | --weight-h1: | ||
| + | |||
| + | --size-h3: ...; | ||
| + | --weight-h3: | ||
| + | |||
| + | --size-nav: ...; | ||
| + | --weight-nav: | ||
| + | |||
| + | --size-button: | ||
| + | --weight-button: | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 80%> | ||
| + | **Regel:** Ab jetzt verwenden Sie im CSS möglichst oft '' | ||
| + | </ | ||
| + | |||
| + | ===== Schritt 3: Grundstyles im body setzen ===== | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Setzen Sie im '' | ||
| + | - '' | ||
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **Beispiel welche Eigenschaften erwartet werden** | ||
| + | <code css> | ||
| + | body { | ||
| + | font-family: | ||
| + | background-color: | ||
| + | color: var(...); | ||
| + | height: 100vh; | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Überprüfen Sie Folgendes: | ||
| + | * Text wirkt sichtbar in der neuen Schrift. | ||
| + | * Hintergrund und Textfarbe stimmen mit dem Design überein. | ||
| + | |||
| + | |||
| + | ===== Schritt 4: Navigation stylen ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Stylen Sie die Navigation so, dass: | ||
| + | - die '' | ||
| + | - Links standardmässig keine Unterstreichung haben | ||
| + | - der aktive Link als aktiv erkennbar ist (Farbe und Unterstreichung gemäss Design) | ||
| + | * Achten Sie darauf, dass nur der aktive Link speziell gestylt ist. | ||
| + | |||
| + | <WRAP center round tip 70%> | ||
| + | Für „alle Links ausser active“ eignet sich ein Selektor wie '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Schritt 5: Typografie für h3 und h1 ===== | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Setzen Sie bei '' | ||
| + | - Schriftgrösse und // | ||
| + | - Grossschreibung mit '' | ||
| + | - passende Abstände (margin) | ||
| + | * Setzen Sie bei '' | ||
| + | - Schriftgrösse und // | ||
| + | - passende Abstände gemäss Design | ||
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **Beispiel welche Eigenschaften erwartet werden** | ||
| + | <code css> | ||
| + | h3 { | ||
| + | font-size: var(...); | ||
| + | font-weight: | ||
| + | text-transform: | ||
| + | margin-bottom: | ||
| + | } | ||
| + | |||
| + | h1 { | ||
| + | font-size: var(...); | ||
| + | font-weight: | ||
| + | margin-bottom: | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Schritt 6: Buttons stylen ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Definieren Sie Basis-Styles für alle '' | ||
| + | - Schriftgrösse und // | ||
| + | - Cursor-Verhalten | ||
| + | * Stylen Sie anschliessend die Varianten: | ||
| + | - '' | ||
| + | - '' | ||
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **Beispiel welche Bereiche Sie umsetzen sollen** | ||
| + | <code css> | ||
| + | button { ... } | ||
| + | button: | ||
| + | |||
| + | button.highlight { ... } | ||
| + | button.active { ... } | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Überprüfen Sie folgendes** | ||
| + | * „Get Started“ wirkt wie ein Hauptbutton. | ||
| + | * „Get live demo“ wirkt eher wie ein Link. | ||
| + | |||
| + | ===== Schritt 7: Responsive Regeln mit Media Query ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Ergänzen Sie im Template den '' | ||
| + | - Hero wird einspaltig | ||
| + | - Bild kommt oben, Text darunter | ||
| + | - Innenabstände werden kleiner | ||
| + | - Navigation-Liste und Switch verschwinden | ||
| + | - Hamburger-Icon wird sichtbar | ||
| + | - h1 wird kleiner | ||
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **Gerüst für den Media Query Block** | ||
| + | <code css> | ||
| + | @media screen and (width < 1024px) { | ||
| + | /* Hero Layout anpassen */ | ||
| + | /* Content-Wrapper Breite anpassen */ | ||
| + | /* Container Padding anpassen */ | ||
| + | /* Typografie Mobile anpassen */ | ||
| + | /* Navigation/ | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 70%> | ||
| + | **Kaskade merken:** Wenn ein Selektor im '' | ||
| + | </ | ||
| + | |||
| + | **Überprüfen Sie Folgendes: | ||
| + | * Über 1024px: 2-Spalten Layout. | ||
| + | * Unter 1024px: 1-Spalten Layout mit Bild oben. | ||
| + | * Hamburger sichtbar, Menu und Switch versteckt. | ||
| + | |||
| + | ===== Schritt 8: Responsive testen mit DevTools ===== | ||
| + | {{: | ||
| + | |||
| + | **Aufgabe** | ||
| + | * Öffnen Sie DevTools und aktivieren Sie den Device Toolbar Modus. | ||
| + | * Testen Sie mindestens: | ||
| + | - Breite knapp über 1024px | ||
| + | - Breite knapp unter 1024px | ||
| + | - ein Smartphone-Preset (z.B. iPhone) | ||
| + | |||
| + | **Achten Sie besonders auf Folgendes: | ||
| + | * Kein horizontales Scrollen. | ||
| + | * Keine überlappenden Elemente. | ||
| + | * Text bleibt gut lesbar. | ||