CSS – Box-Modell

1. Was ist das CSS Box-Modell?

Das CSS Box-Modell beschreibt, wie die Größe und die Abstände eines HTML-Elements berechnet werden.

Viele HTML-Elemente werden als rechteckige Boxen dargestellt. Diese Boxen bestehen aus mehreren Bereichen.

Visualisierung des Box-Modells

MARGIN – Außenabstand
BORDER – Rahmen
PADDING – Innenabstand
CONTENT – Inhalt
Merken: Von innen nach außen: Content → Padding → Border → Margin.

2. Content – Der Inhalt

Der Content-Bereich enthält den eigentlichen Inhalt eines Elements, beispielsweise Text oder Bilder.

CSS-Code

.box {
    width: 300px;
    height: 150px;
}

Bei box-sizing: content-box beziehen sich width und height auf den Inhaltsbereich.


3. Padding – Innenabstand

Padding beschreibt den Abstand zwischen dem Inhalt und dem Rahmen eines Elements.

CSS-Code

.box {
    padding: 30px;
    background-color: lightblue;
}

Ergebnis

Dieser Text besitzt einen Innenabstand von 30px.

Einzelne Seiten

.box {
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 40px;
}

4. Padding-Kurzschreibweise

Mehrere Padding-Werte können in einer einzigen CSS-Regel zusammengefasst werden.

Schreibweise Bedeutung
padding: 20px; Alle vier Seiten: 20px
padding: 10px 20px; Oben/unten: 10px, rechts/links: 20px
padding: 10px 20px 30px; Oben: 10px, rechts/links: 20px, unten: 30px
padding: 10px 20px 30px 40px; Oben, rechts, unten, links
Eselsbrücke: Bei vier Werten beginnt man oben und geht im Uhrzeigersinn weiter: oben → rechts → unten → links.

5. Margin – Außenabstand

Margin beschreibt den Abstand außerhalb des Rahmens eines Elements.

CSS-Code

.box {
    margin: 30px;
    padding: 15px;
    background-color: lightblue;
}

Ergebnis

Diese Box besitzt einen Außenabstand von 30px.

6. Margin-Kurzschreibweise

Die Kurzschreibweise von margin funktioniert ähnlich wie die von padding.

.box {
    margin: 10px 20px 30px 40px;
}

Die Werte gelten in dieser Reihenfolge: oben, rechts, unten und links.


7. Margin und Padding im Vergleich

Eigenschaft Padding Margin
Position Innerhalb des Rahmens Außerhalb des Rahmens
Hintergrundfarbe Erstreckt sich normalerweise über Padding Margin bleibt transparent
Negative Werte Nicht erlaubt Erlaubt
Verwendung Abstand zum Inhalt Abstand zu anderen Elementen
Achtung: Vertikale Margins normaler Blockelemente können unter bestimmten Bedingungen zusammenfallen. Dieses Verhalten heißt Margin Collapsing.

8. Border – Der Rahmen

Mit border wird ein Rahmen um ein Element definiert.

CSS-Code

.box {
    border: 5px solid #1959a6;
    padding: 20px;
}

Ergebnis

Diese Box besitzt einen blauen Rahmen.

Die Kurzschreibweise border kann Rahmenbreite, Rahmenstil und Rahmenfarbe enthalten.


9. Verschiedene Rahmenarten

CSS-Code

.box1 {
    border: 3px solid blue;
}

.box2 {
    border: 3px dashed blue;
}

.box3 {
    border: 3px dotted blue;
}

.box4 {
    border: 5px double blue;
}

Ergebnis

solid
dashed
dotted
double

10. border-radius – Abgerundete Ecken

Mit border-radius können die Ecken einer Box abgerundet werden.

CSS-Code

.box {
    border-radius: 20px;
}

Ergebnis

Box mit abgerundeten Ecken

11. width und height

Mit width und height können Breite und Höhe eines Elements festgelegt werden.

CSS-Code

.box {
    width: 300px;
    height: 150px;
}

Die tatsächlichen Außenmaße hängen zusätzlich von Padding, Border und box-sizing ab.


12. min-width und max-width

Mit min-width und max-width können Mindest- und Höchstbreiten definiert werden.

CSS-Code

.container {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}

Dieses Beispiel verwendet 90 Prozent der verfügbaren Breite, überschreitet jedoch nicht 1100px.

Praxis: max-width wird häufig verwendet, damit Webseiten auf großen Bildschirmen nicht zu breit werden.

13. box-sizing

Die Eigenschaft box-sizing bestimmt, wie width und height berechnet werden.

content-box

.box {
    box-sizing: content-box;
    width: 200px;
    padding: 20px;
    border: 5px solid blue;
}

Die Gesamtbreite beträgt:

200px + 40px Padding + 10px Border = 250px.

border-box

.box {
    box-sizing: border-box;
    width: 200px;
    padding: 20px;
    border: 5px solid blue;
}

Die gesamte Breite einschließlich Padding und Border beträgt 200px.

Vergleich

content-box

Gesamtbreite: 250px

border-box

Gesamtbreite: 200px

Empfehlung: Für moderne Webseiten wird häufig folgende Regel verwendet:
*,
*::before,
*::after {
    box-sizing: border-box;
}

14. Elemente horizontal zentrieren

Ein Blockelement mit begrenzter Breite kann über automatische linke und rechte Margins horizontal zentriert werden.

CSS-Code

.box {
    width: 250px;
    margin: 0 auto;
}

Ergebnis

Diese Box ist zentriert.

15. overflow – Überlaufender Inhalt

Die Eigenschaft overflow bestimmt, was geschieht, wenn der Inhalt größer als der verfügbare Bereich eines Elements ist.

Wert Bedeutung
visible Inhalt kann über die Box hinausragen
hidden Überlaufender Inhalt wird abgeschnitten
scroll Scrollmechanismus wird bereitgestellt
auto Scrollmechanismus bei Bedarf

CSS-Code

.box {
    height: 100px;
    overflow: auto;
}

Ergebnis

Dies ist ein längerer Text, der mehr Platz benötigt, als die Box zur Verfügung stellt. Deshalb kann innerhalb dieses Elements gescrollt werden. So bleibt die festgelegte Höhe erhalten.

16. Praktisches Beispiel: Eine Karte

Das Box-Modell wird häufig verwendet, um Karten, Formulare und Navigationen zu gestalten.

HTML-Code

<div class="karte">
    <h2>CSS lernen</h2>
    <p>
        Das Box-Modell einfach erklärt.
    </p>
</div>

CSS-Code

.karte {
    max-width: 400px;
    background: white;
    padding: 25px;
    border: 1px solid #dce6f3;
    border-radius: 12px;
    box-shadow: 0 8px 20px
        rgba(0, 0, 0, 0.08);
}

Ergebnis

CSS lernen

Das Box-Modell einfach erklärt.


17. Praktische Übungen

Aufgabe 1

Nennen Sie die vier Bestandteile des CSS Box-Modells.

Lösung anzeigen

Content, Padding, Border und Margin.

Aufgabe 2

Erstellen Sie eine Box mit 20px Innenabstand.

Lösung anzeigen
.box {
    padding: 20px;
}

Aufgabe 3

Geben Sie einer Box einen Außenabstand von 30px.

Lösung anzeigen
.box {
    margin: 30px;
}

Aufgabe 4

Erstellen Sie einen roten Rahmen mit einer Breite von 3px.

Lösung anzeigen
.box {
    border: 3px solid red;
}

Aufgabe 5

Eine Box besitzt width: 300px, padding: 20px und border: 5px solid. box-sizing ist content-box. Wie groß ist die Gesamtbreite ohne Margin?

Lösung anzeigen

300 + 20 + 20 + 5 + 5 = 350px.

Aufgabe 6

Wie kann dieselbe Box einschließlich Padding und Border eine Gesamtbreite von 300px erhalten?

Lösung anzeigen
.box {
    box-sizing: border-box;
    width: 300px;
    padding: 20px;
    border: 5px solid blue;
}

Aufgabe 7

Zentrieren Sie eine 400px breite Box horizontal.

Lösung anzeigen
.box {
    width: 400px;
    max-width: 100%;
    margin: 0 auto;
}

Aufgabe 8

Was ist der Unterschied zwischen Margin und Padding?

Lösung anzeigen

Padding ist der Abstand zwischen Inhalt und Rahmen. Margin ist der Außenabstand außerhalb des Rahmens.


18. Zusammenfassung

Das CSS Box-Modell besteht aus Content, Padding, Border und Margin. Es bestimmt die Abmessungen und Abstände von HTML-Elementen.

Padding erzeugt Innenabstände, Margin erzeugt Außenabstände und Border definiert Rahmen. Mit box-sizing: border-box wird die Größenberechnung häufig einfacher.

Weitere wichtige Eigenschaften sind width, height, max-width, border-radius und overflow.