Projektziel (über mehrere LUs): Sie setzen eine Hero Section pixel-nah nach Figma um und bauen später einen Light/Dark-Mode Switch mit JavaScript.
Fokus LU01: Zuerst HTML-Struktur, danach CSS-Grundlayout (Container + Flexbox). Noch kein Feinschliff bei Fonts/Farben/Interaktionen.
header, nav, main, section..content-wrapper, .button-wrapper).max-width.index.html (mit TODOs in LU01/LU02/LU03)Laden Sie hier das Material herunter: landing_page_alarado.zip
Wichtig: Halten Sie sich an die TODO-Markierungen im Template.
In LU01 machen Sie nur, was mit TODO in LU01 beschriftet ist. (Google Font, Favicon, Farben/Variablen und Hover-Styles kommen später.)
Navigation Bar
Aufgabe: Bauen Sie den <header> gemäss Template auf.
img einfügen (+ sinnvoller alt)nav.menu mit ul > li > alabel + input type=„checkbox“)
Repetition: Semantische Grundstruktur
header = Kopfbereich der Seite (Logo, Navigation, Controls)nav = Navigation (Links als Liste)main = Hauptinhalt (pro Seite 1×)section = thematisch zusammenhängender Abschnitt (z.B. Hero)
Mehr Infos zum <nav>-Tag finden Sie hier: MDN Nav-Tag
Beispiel einer Navigation mit <nav>, <ul> und <li> umgesetzt. Ihr HTML-Code unterscheidet sich von dem hier gezeigten.
Checkliste
ul/li)?a-Element (nicht nur Text)?alt-Text?
Hero-Section mit Element-Gruppen
Aufgabe: Ergänzen Sie in <section id=„hero-section“>:
h3, h1, p.button-wrapper gruppieren.info-wrapper)Checkliste
Aufgabe: Fügen Sie das Bild gemäss Template ein. Nutzen Sie srcset für 1x/2x (Retina).
Repetition: srcset kurz erklärt
Mit srcset kann der Browser je nach Bildschirmauflösung die passende Datei wählen (z.B. @2x).
Sie liefern mehrere Varianten – der Browser entscheidet.
Beispiel: Bild mit srcset
<img class="hero-image" src="./resources/hero-image-simple-homepage.png" srcset="./resources/hero-image-simple-homepage.png 1x, ./resources/hero-image-simple-homepage@2x.png 2x" alt="Illustration zur Landingpage" />
Checkliste
./resources/…), und lädt das Bild?alt-Text?Aufgabe: Setzen Sie den Hauptcontainer mittig und begrenzen Sie die Breite (gemäss Figma).
Repetition: Container-Zentrierung
max-width begrenzt die Breitemargin: 0 auto zentriert horizontalpadding sorgt für Innenabstand (damit Inhalt nicht am Rand klebt)Beispiel:
.main-wrapper { max-width: 1100px; /* Richtwert – gemäss Figma anpassen */ margin: 0 auto; padding: 24px; }
Flexbox-Layout
Eine gute Übersicht zur Flexbox gibt es hier: CSS-Tricks: a guide to flexbox
Aufgabe: Positionieren Sie Logo (links), Navigation (mitte) und Switch (rechts).
Repetition: Flexbox Basics
display: flex → Elemente in einer Reihejustify-content: space-between → links/mittig/rechts verteilenalign-items: center → vertikal zentrierengap → Abstand zwischen ItemsAufgabe: Lassen Sie die Menu-Items nebeneinander erscheinen (ohne Styling der Farben – das kommt in LU02).
Aufgabe: Textblock links, Bild rechts – nebeneinander.
Aufgabe: Das Bild soll proportional kleiner werden, wenn das Fenster kleiner wird.
Hinweis: Das echte Responsive-Layout (Media Query + Hamburger) machen Sie in LU02/LU03.
Repetition: Responsive Images
width: 100% → Bild füllt den Containerheight: auto → Seitenverhältnis bleibt korrektAufgabe: Buttons nebeneinander, mit Abstand. (Details wie Farben/Fonts in LU02)
Aufgabe: Im Desktop sollen Hamburger-Buttons unsichtbar sein (damit nichts “stört”).
.hamburger-button, .hamburger-button-close { display: none; }
srcset lädt korrekt.main-wrapper zentriert mit max-widthwidth:100%, height:auto)./resources/… (404?)::before, Switch-Styling + JS für Theme-Toggle