- 1 Section
- 10 Lessons
- unbegrenzt
- HTML & CSS – Grundlagen10
- 1.1Wie funktioniert das Web? HTTP, Browser, Server
- 1.2HTML-Grundstruktur: DOCTYPE, head, body
- 1.3Textelemente: Überschriften, Absätze, Listen, Links
- 1.4Bilder, Tabellen und semantische Elemente
- 1.5HTML-Formulare: input, select, textarea
- 1.6CSS-Grundlagen: Selektoren, Eigenschaften, Kaskade
- 1.7CSS Box-Modell: margin, padding, border
- 1.8CSS-Layout: Flexbox
- 1.9CSS-Layout: Grid
- 1.10Responsive Design und Media Queries
CSS-Grundlagen: Selektoren, Eigenschaften, Kaskade
HTML strukturiert den Inhalt einer Webseite – aber HTML alleine sieht aus wie ein Word-Dokument von 1995. CSS (Cascading Style Sheets) ist die Sprache mit der wir das Aussehen kontrollieren: Farben, Schriften, Größen, Abstände, Layouts, Animationen. Während HTML sagt „das ist eine Überschrift", sagt CSS „und sie soll blau, fett und 32px groß sein".
Das Schöne: HTML und CSS sind strikt getrennt. Das ist eine bewusste Design-Entscheidung. Du kannst die Optik einer ganzen Website ändern indem du nur das CSS austauschst – ohne eine einzige HTML-Datei anzufassen. Die Webseite csszengarden.com demonstriert das eindrucksvoll: dieselbe HTML-Datei, hunderte komplett verschiedene Designs.
1) Anatomie einer CSS-Regel
Eine CSS-Regel besteht aus drei Teilen: dem Selektor (was), den Eigenschaften (wie) und den Werten (wie genau). Klicke die Teile:
color: blue;
font-size: 32px;
}
{ } umschließen den Regel-Body. Mehrere Selektoren mit Komma trennen: h1, h2, h3 { color: blue; }.2) Drei Wege CSS einzubinden
CSS kann an drei Stellen stehen. Die Wahl hat Folgen für Wartbarkeit und Performance:
<head> der HTML-Datei. CSS in separater .css-Datei. Vorteile: trennt Struktur/Design, gemeinsam für mehrere Seiten nutzbar, vom Browser gecacht.h1 { color: red; }
</style>
<style>-Tag der HTML-Datei. Praktisch für kleine Demos oder Critical-CSS. Nicht teilbar zwischen Seiten.3) Selektoren – wie wähle ich Elemente aus?
Selektoren sind das Herzstück von CSS. Hier sind alle wichtigen Typen mit Live-Vorschau – grün markiert ist jeweils das Element das der Selektor trifft:
article.featured h2.title heißt: alle h2 mit class="title" innerhalb von article mit class="featured". Je präziser, desto höher die Spezifität (kommt gleich). Faustregel: lieber Klassen-Selektoren als Element-Selektoren – flexibler beim Umbau.4) Spezifität – wer gewinnt wenn Regeln kollidieren?
Was passiert wenn zwei Regeln dieselbe Eigenschaft setzen? Bei color: red und color: blue kann der Browser nur eine umsetzen. Hier kommt die Spezifität ins Spiel – ein Punktesystem das berechnet welcher Selektor „präziser" ist und damit gewinnt:
#x .y div span zu schreiben weil sonst nichts zieht, ist meist was am Konzept faul. Faustregel: Klassen sind dein Hauptwerkzeug, IDs sparsam, !important nur als letzter Ausweg.5) Die Kaskade – warum CSS „Cascading" heißt
Das C in CSS steht für „Cascading". Damit ist gemeint: wenn mehrere Regeln auf ein Element passen, gewinnt nicht zufällig irgendwas – es gibt klare Regeln in welcher Reihenfolge die Stile angewendet werden. Vereinfacht von wichtig nach unwichtig:
!important ist die Atombombe – nimmt jeder Regel die Spezifitäts-Logik. Bitte nicht standardmäßig! Wenn du !important brauchst, ist meistens das Architektur-Konzept fehlerhaft.6) Vererbung – manche Eigenschaften „fließen runter"
Manche CSS-Eigenschaften werden automatisch an Kind-Elemente weitergegeben. Wenn du color: blue auf <body> setzt, sind alle Texte darin standardmäßig blau – außer du überschreibst es. Das heißt Vererbung.
Vererbt werden meist: Text-Eigenschaften (color, font-family, font-size, line-height, text-align). NICHT vererbt: Box-Eigenschaften (margin, padding, border, width, background) – sonst würde alles wild aussehen. Mit inherit kannst du Vererbung erzwingen, mit initial zurücksetzen.
7) CSS-Werte – Farben, Längen, Funktionen
Werte können viele Formate haben. Hier die wichtigsten Kategorien:
- Farben:
red,#ff5500,rgb(255, 85, 0),rgba(255, 85, 0, 0.5)mit Alpha,hsl(20, 100%, 50%), modernesoklch(). - Längen: absolut:
px,pt. Relativ:em(zur Eltern-Schrift),rem(zur Root-Schrift),%,vw/vh(Viewport). - Zeit:
sodermsfür Animationen/Transitions. - Funktionen:
calc(100% - 20px),min(50vw, 600px),max(),clamp(16px, 2vw, 24px).
Modern wird oft rem empfohlen statt px: rem skaliert mit der Browser-Schrifteinstellung des Users – wichtig für Barrierefreiheit. Sehbehinderte Nutzer stellen oft die Standardschrift auf 150% – mit rem reagiert dein Design darauf.
8) Live-Editor: HTML + CSS spielen
Probier es selbst aus – ändere CSS und sieh sofort was passiert:
:hover zu :focus änderst? Wenn du orange durch #3366ff ersetzt? Wenn du eine neue Klasse einführst? Spielerisch lernen ist bei CSS sehr effektiv. Wenn du den Live-Reload eines Editors wie VS Code mit Live-Server nutzt, kommst du in einen richtigen Flow.Zusammenfassung
CSS = Styling-Sprache für HTML. Regel-Aufbau: selektor { property: wert; }. Einbindung: extern (empfohlen, <link rel="stylesheet">), <style> im head, oder Inline. Selektor-Typen: Element (p), Klasse (.x), ID (#x), Attribut ([type=...]), Pseudo-Klassen (:hover), Kombinationen, Nachfahren (a b), Kinder (a>b). Spezifität bestimmt Konflikt-Sieger: IDs > Klassen > Elemente. Inline-style und !important sehr hoch. Kaskade: Quelle + Spezifität + Reihenfolge. Vererbung: Text-Eigenschaften ja, Box-Eigenschaften nein. Werte: Farben, Längen (px, em, rem, %, vw/vh), Zeit, calc/min/max/clamp.
