HTML – Struktur & Semantik¶
- Grundgeruest:
<!doctype html>,<html>,<head>,<body>. Zweck: Dokumentrahmen, Metadaten im<head>, sichtbarer Inhalt im<body>. - Semantische Elemente:
header,main,footer(beschreiben Inhalt); nicht semantisch:div,span.body= Rahmen, nicht inhaltsbeschreibend. - Standard-Elemente (Auswahl): Links/Listen/Abschnitte; Navigation oft als Liste in
navaufgebaut (siehe Nav-Beispiel unten). (aus Lernzielen) - Dateinamen (Konventionen): keine Leerzeichen, nicht mit Zahl starten, kleinbuchstaben ok.
Formulare – Basics¶
- Bausteine:
form(Container),input/textarea(Felder),button(Aktion). - Einfacher POST-Submit (Name + E-Mail):
<form action="https://example.com/submit" method="post">
<label>Name <input name="name" required></label>
<label>E-Mail <input type="email" name="email" required></label>
<button type="submit">Senden</button>
</form>
CSS einbinden & Selektoren¶
- Externe Datei einbinden (im
<head>):
- Klasse:
.klasse(Punkt) ✔️ / ID:#id(Raute) - Nachfahre:
div p(allepirgendwo indiv) - Direktes Kind:
div > p - Geschwister:
p + div(direkt danach),p ~ div(spaetere Geschwister)
Box-Modell & Box-Sizing¶
- Bestandteile: content + padding + border + margin. padding = innen, margin = aussen.
- Darstellung beeinflusst Verhalten:
display: inlinekann Box-Verhalten aendern (Aussage „wird nicht beeinflusst“ ist falsch). -
Box-Sizing:
-
Standard:
content-box - Alternative:
border-box(Breite inkl. Padding+Border) -
Global sinnvoll setzen:
Layout – Flexbox (modern)¶
- Richtung:
flex-direction: row | row-reverse | column | column-reverse–row= horizontal,row-reverse= horizontal umgekehrt,column= oben→unten,column-reverse= unten→oben. -
Ausrichtung:
-
Hauptachse:
justify-content(start, center, space-between …) - Querachse:
align-items(stretch, center …) - Mehrzeilig:
align-content(wirkt, wenn Zeilen umbrechen) - Flexible Layout-Kombis (praxisnah):
/* Variante A: Flex */
.wrap { display:flex; flex-wrap:wrap; }
/* Variante B: Grid */
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); }
Layout – Grid (modern)¶
-
Spalten/Zeilen definieren:
-
Explizite Spalten:
grid-template-columns - Implizite Spalten:
grid-auto-columns - Implizite Zeilen:
grid-auto-rows column-gapsteuert nur Abstand, nicht Anzahl/Groesse.- Items platzieren (Shorthand):
Navigation – Liste horizontal¶
- Praxis-Variante (einfach & robust):
Responsive Design & Media Queries¶
- Bedeutung & Vorgehen: Layout passt sich Geraet/Breite an; Mobile-First = Basis fuer klein, dann erweitern. (aus Lernzielen)
- Media Query – mind. Breite (typisch Mobile-First Erweiterung):
(„minimale Breite 1450px“ = Regel greift ab dieser Breite.) * max-width (Alternative):
@media (max-width:600px){ body{ background-color:lightblue; } }
``` :contentReference[oaicite:17]{index=17}
::before/::after fuegen Inhalt am selektierten Element ein (z. B. an der Features-Section), nicht an „Elementen davor/danach im DOM“.
Validierung & Benennung (aus Lernzielen)¶
- HTML/CSS Validierung: Ziel ist formal korrekte Struktur/Styles (Fehler erkennen & beheben). (aus Lernzielen)
- Dokument-Benennung: Regeln oben beachten; konsistente, sprechende Namen verwenden.
Wichtiste sachen ganz kurz:¶
- CSS einbinden:
<link rel="stylesheet" href="style.css">. - Klassenselektor:
.klasse(nicht#klasse). - **
div pvs.div > pvs.p + div/p ~ divkennen. - Box-Modell: content, padding, border, margin; padding innen, margin aussen.
- Flex-Ausrichtung:
justify-content= Hauptachse. - Grid-Spalten:
grid-template-columns(nichtcolumn-gap). - Mobile-First: Basis klein, erweitern mit
@media (min-width: …).