CSS

⌘K
  1. Home
  2. Docs
  3. CSS
  4. CSS Box Model

CSS Box Model

CSS Box Model: Das CSS-Box-Modell ist ein grundlegendes Konzept in der Gestaltung von Webseiten und beschreibt, wie HTML-Elemente auf einer Seite angeordnet und dimensioniert werden. Es stellt sicher, dass alle Inhalte, Rahmen und Abstände korrekt berechnet werden, um ein konsistentes Layout zu gewährleisten. Jedes HTML-Element wird als Rechteck mit vier Hauptbestandteilen dargestellt: content, padding, border und margin.

CSS Box Modell Infographic

Bestandteile des Box-Modells

  1. Content (Inhalt)
    Der content-Bereich ist der Kern des Elements und enthält den eigentlichen Inhalt wie Text oder Bilder. Die Größe dieses Bereichs wird durch die CSS-Eigenschaften width und height festgelegt.
  2. Padding (Innenabstand)
    Das padding fügt dem Inhalt zusätzliche Abstände hinzu und schafft Raum zwischen dem content und dem Rand des Elements. Die Padding-Werte werden innerhalb des Rahmens angewendet und beeinflussen die Gesamtgröße des Elements.
  3. Border (Rahmen)
    Der border-Bereich umgibt das Element und kann in Farbe, Dicke und Stil angepasst werden. Der Rahmen liegt direkt außerhalb des padding-Bereichs und beeinflusst ebenfalls die Größe des Elements.
  4. Margin (Außenabstand)
    Das margin ist der äußere Bereich, der Abstand zwischen dem Element und anderen umgebenden Elementen schafft. Margins können negativ sein, um Elemente näher zueinander zu bringen.
.box-example {
    width: 200px; /* Breite des Inhaltsbereichs */
    height: 100px; /* Höhe des Inhaltsbereichs */
    padding: 20px; /* Innenabstand */
    border: 5px solid black; /* Rahmen */
    margin: 15px; /* Außenabstand */
    background-color: lightblue;
}

Box-Modell Berechnung

Standardmäßig wird die Gesamtbreite eines Elements wie folgt berechnet:

Gesamtbreite = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right
Gesamthöhe = height + padding-top + padding-bottom + border-top + border-bottom + margin-top + margin-bottom

In obigem Beispiel beträgt die Gesamtbreite 200px + 20px + 20px + 5px + 5px = 250px, und die Gesamthöhe 100px + 20px + 20px + 5px + 5px = 150px.

Box-Sizing: border-box vs. content-box

Das Box-Sizing-Attribut (box-sizing) beeinflusst, wie die Größe des Elements berechnet wird.

  • content-box (Standard): Nur der Inhalt wird durch width und height definiert, und padding und border werden hinzugefügt, um die Gesamtgröße zu berechnen.
  • border-box: width und height umfassen den Inhalt, das Padding und den Rahmen. Dies erleichtert die Arbeit mit festen Größen, da Padding und Border nicht zur Gesamtgröße hinzugerechnet werden.
.border-box-example {
    box-sizing: border-box;
    width: 200px;
    padding: 20px;
    border: 5px solid black;
    /* Das Element bleibt insgesamt 200px breit */
}

Best Practices und Tipps

  • Verwenden Sie border-box für einheitlichere Layouts, insbesondere bei responsiven Designs.
  • Setzen Sie margin für Abstand zu anderen Elementen und padding für Innenabstände.
  • Definieren Sie box-sizing: border-box; global mit *, um konsistente Layouts sicherzustellen:
  * {
      box-sizing: border-box;
  }

Häufig gestellte Fragen

Wie funktioniert margin collapse?

Zusammengeklappte Margins treten auf, wenn zwei benachbarte vertikale Margins von Block-Elementen zu einer einzigen zusammengefasst werden. Die höhere Margin setzt sich durch.

Was ist der Unterschied zwischen margin und padding in CSS?

Das CSS padding beeinflusst den Innenabstand des Elements, während margin den Außenabstand zu anderen Elementen steuert.

Warum wird box-sizing: border-box in CSS empfohlen?

Die CSS border-box vereinfacht das Layout, da es padding und border in der Gesamtgröße einbezieht, was die Gestaltung besonders bei fixen Breiten und responsive Designs konsistenter macht.

Zusammenfassung

Das CSS-Box-Modell definiert, wie HTML-Elemente in einem Layout angeordnet und dimensioniert werden. Die Bestandteile content, padding, border und margin spielen alle eine Rolle für die finale Darstellung und das Verhalten des Elements. Das Wissen um das Box-Modell und die Nutzung von box-sizing erleichtert es, präzise und flexible Layouts zu erstellen.

Übungsaufgaben

  1. Erstellen Sie ein Layout mit border-box, das verschiedene padding– und margin-Werte kombiniert.
  2. Experimentieren Sie mit box-sizing: content-box und border-box, um die Unterschiede zu beobachten.
  3. Gestalten Sie eine Box mit verschiedenen border-Stilen und testen Sie die Außen- und Innenabstände.

Handlungsempfehlungen

  • Nutzen Sie box-sizing: border-box für konsistente Layouts.
  • Verwenden Sie margin für Abstände zwischen Elementen und padding, um Inhalte innerhalb eines Elements zu positionieren.
  • Testen Sie das Verhalten von margin collapse und berücksichtigen Sie dies beim Design.