====== LU03a - Box-Modell ====== Als Grundlage für das Positionieren von Elementen und das Erstellen eines Layouts dient in CSS das Box-Model (oder auch Kastenmodell). In diesem Teil werden das //klassische// und das //neue, intuitivere// Box-Modell vorgestellt. ===== Das klassische Box-Modell ===== Das klassische Box-Modell besteht aus vier Bereichen: * **Content** (Inhalt) * **Padding** (Innenabstand) * **Border** (Rahmen) * **Margin** (Aussenabstand) {{:modul:m287:learningunits:lu03:box-modell_einfach.png?600|}} Jede dieser Boxen kann in **top**, **right**, **bottom** und **left** unterteilt werden. {{:modul:m287:learningunits:lu03:box-modell_detailliert.gif?600|}} ===== Innenabstand angeben ===== Die CSS-Eigenschaft ''padding'' legt den Innenabstand fest. **Beispiel:** div { padding: 10px; } ===== Den Rahmen erstellen ===== Die CSS-Eigenschaft ''border'' bestimmt den Rahmen eines Elements. **Beispiel:** div { border: 2px solid black; } ===== Den Aussenabstand ===== Die CSS-Eigenschaft ''margin'' legt den Aussenabstand zu anderen Elementen fest. **Beispiel:** div { margin: 20px; } ===== Zusammenfallende vertikale Aussenabstände (Collapsing Margins) ===== Wenn sich zwei vertikale Margins treffen, verschmelzen sie zum grösseren Wert. {{:modul:m287:learningunits:lu03:box-modell_collapsing-margins.png?600|}} ===== Das neue Box-Modell ===== Im neuen Box-Modell wird ''padding'' und ''border'' in die Breite und Höhe eines Elements eingerechnet. {{:modul:m287:learningunits:lu03:box-modell_new.png?600|}} **Beispiel:** div { box-sizing: border-box; } ===== Das neue Box-Modell verwenden ===== Das neue Box-Modell kann mit der CSS-Eigenschaft ''box-sizing: border-box'' aktiviert werden. **Beispiel 1 (Einzelne Elemente):** div { box-sizing: border-box; } **Beispiel 2 (Alle Elemente):** * { box-sizing: border-box; }