/* Aufbau einer CSS-Regel */
selektor {
eigenschaft1: wert1;
eigenschaft2: wert2;
}
==== Grundbestandteile ====
* **Selektor:** Wählt das Ziel-Element aus (z. B. Elementtyp-Selektoren wie ''p'' oder ID-Selektoren wie ''#intro'')[cite: 12].
* **Deklaration:** Ein Eigenschafts-/Wertpaar innerhalb geschweifter Klammern ''{ }''[cite: 12].
* **Semikolon:** Jede Deklaration muss mit einem Semikolon '';'' abgeschlossen werden[cite: 12].
* **Kommentare:** Werden mit ''/* Kommentar */'' eingefügt und vom Browser beim Rendern ignoriert[cite: 12].
===== 3. Methoden zur Stileinbindung =====
Es gibt drei Möglichkeiten, CSS-Stile an ein Dokument anzuhängen[cite: 12]:
==== A) Externe Stylesheets ====
Eine separate CSS-Datei, die über ein ''''-Tag im HTML-Head eingebunden oder per ''@import''-Regel geladen wird[cite: 12].
==== B) Eingebettete Stylesheets (Embedded) ====
Die Stilregeln stehen direkt im HTML-Dokument innerhalb des ''
==== C) Inline Styles ====
Stile werden direkt im jeweiligen HTML-Element über das ''style''-Attribut angegeben[cite: 12].
Dieser Text ist rot.
===== 4. Vererbung & Die Kaskade =====
==== Vererbung (Inheritance) ====
Eigenschaften werden entlang des Dokumentbaums (Parent-Child-Beziehung) an untergeordnete Elemente weitergereicht[cite: 12]:
* **Typische Vererbung:** Textbezogene Eigenschaften (z. B. ''font-family'', ''color'') werden meist vererbt[cite: 12].
* **Keine Vererbung:** Layout- und Box-bezogene Eigenschaften (z. B. ''margin'', ''padding'', ''border'') werden i. d. R. nicht vererbt[cite: 12].
==== Die Kaskade (Conflict Resolution) ====
Treffen mehrere Regeln auf dasselbe Element zu, entscheidet das Kaskadensystem anhand folgender Kriterien über die Priorität[cite: 12]:
1. **Ursprung & Priorität:** Stile des Nutzers mit ''!important'' vor Autoren-Stilen (Website-Entwickler) vor Standard-Browser-Stilen (User Agent)[cite: 12].
2. **Spezifität:** Spezifischere Selektoren (z. B. ID-Selektoren) wiegen schwerer als allgemeine Element-Selektoren[cite: 12].
3. **Reihenfolge:** Bei gleichem Gewicht gewinnt die Stilregel, die als letztes im Code analysiert/ausgeführt wird (Nähe zum Inhalt)[cite: 12].
===== 5. Das Box-Modell =====
Browser betrachten jedes Element auf der Seite als ein rechteckiges Feld (Box)[cite: 12]. Es bildet die Grundlage für das Layouting und besteht aus[cite: 12]:
* **Content:** Der eigentliche Inhalt (Text, Bild etc.)[cite: 12].
* **Padding:** Innenabstand zwischen Inhalt und Rahmen[cite: 12].
* **Border:** Der umgebende Rahmen[cite: 12].
* **Margin:** Außenabstand zu benachbarten Elementen[cite: 12].
===== 6. CSS-Maßeinheiten =====
CSS unterstützt verschiedene Einheiten zur Größenangabe[cite: 12]:
^ Typ ^ Einheit ^ Beschreibung ^
| **Absolute Einheiten** | ''px'' | Pixel; feste Größe, Standard für Bildschirme[cite: 12]. |
| | ''pt'', ''cm'', ''in'' | Punkte, Zentimeter, Inch; primär für Drucklayouts gedacht[cite: 12]. |
| **Relative Einheiten** | ''em'' | Relativ zur Schriftgröße des aktuellen/übergeordneten Elements[cite: 12]. |
| | ''rem'' | **Root em:** Relativ zur Schriftgröße des Wurzel-Elements ('''')[cite: 12]. |
| | ''vh'' / ''vw'' | **Viewport Height/Width:** Relativ zur Höhe/Breite des Browserfensters (1vh/vw = 1% des Viewports)[cite: 12]. |
| **Prozent** | ''%'' | Relativ zur entsprechenden Eigenschaft des Eltern-Elements[cite: 12]. |