Das Box Model beschreibt, wie Browser jedes HTML-Element als rechteckige Box behandeln und Größe, Abstände und Rahmen berechnen.

box-sizing:
🟦
content-box→ „Breite gilt nur für den blauen Inhalt.“🟥
border-box→ „Breite gilt blaue, grünen und orangen Bereich.“
1. Aufbau einer Box
Jedes Element besteht (von innen nach außen) aus vier Bereichen:
| Ebene | CSS-Eigenschaft(en) | Beschreibung |
|---|---|---|
| Content Box | width, height | Der eigentliche Inhalt (Text, Bild etc.) des Elements. |
| Padding Box | padding | Innenabstand zwischen Inhalt und Rahmen. Hintergrundfarbe erstreckt sich bis hierhin. |
| Border Box | border | Der Rahmen um das Padding. |
| Margin Box | margin | Der Außenabstand zum nächsten Element. Hintergrundfarbe endet vorher. |
2. {box-sizing} — Steuerung der Berechnung
Mit der CSS-Eigenschaft box-sizing kannst du festlegen, welcher Teil der Box von den Werten width und height umfasst ist.
| Wert | Bedeutung | Effekt auf Berechnung |
|---|---|---|
content-box (Standard) | width und height beziehen sich nur auf den Inhalt (Content). Padding und Border werden hinzuaddiert. | Größere Gesamtbox als die angegebene Breite/Höhe. |
border-box | width und height umfassen Inhalt + Padding + Border. | Gesamtbreite entspricht genau der deklarierten width. |
3. Beispiel
div.content-box {
box-sizing: content-box; /* Standard */
width: 200px;
padding: 20px;
border: 5px solid blue;
}
div.border-box {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 5px solid red;
}
| Variante | Tatsächliche Breite | Erklärung |
|---|---|---|
content-box | 200 + 20 + 20 + 5 + 5 = 250 px | Breite + Padding + Border |
border-box | 200 px | Padding + Border werden in die Breite eingerechnet |
4. Typische Praxis (empfohlener Reset)
Viele CSS-Frameworks und Projekte setzen global box-sizing: border-box, um konsistente Layouts zu gewährleisten:
/* global reset */
*, *::before, *::after {
box-sizing: border-box;
}
Dadurch bleiben alle Boxen berechenbar und responsive-freundlicher.
5. Sonderfälle & Hinweise
| Thema | Erklärung |
|---|---|
max-width / min-width | Rechnen genauso abhängig von box-sizing. |
box-sizing und flex/grid | In modernen Layoutsystemen besonders hilfreich, um Spalten mit fixen Breiten und Padding korrekt zu gestalten. |
| Vererbung | box-sizing wird nicht automatisch vererbt, daher Global-Reset empfehlenswert. |
| Browser-Support | Seit IE8+ breit unterstützt, vollständig standardisiert (W3C CSS Box Sizing Level 3). |
6. Schnellreferenz
| Eigenschaft | Standardwert | Typische Nutzung | Effekt |
|---|---|---|---|
box-sizing | content-box | Standard-HTML | Breite = nur Inhalt |
border-box | Layouts, Frameworks | Breite = Inhalt + Padding + Border | |
width / height | – | Inhalt (je nach box-sizing) | Definiert innere Boxgröße |
padding | 0 | Innenabstand | Zählt ggf. zur Gesamtbreite |
border | none | Rahmen | Zählt ggf. zur Gesamtbreite |
margin | 0 | Außenabstand | Immer außerhalb der Gesamtgröße |