CSS Abstände und Boxmodell

Das CSS Box-Modell einfach erklärt
In CSS wird jedes HTML-Element als eine Rechteck-Box behandelt – egal ob ein Button, ein Absatz oder ein Bild. Deshalb nennt man das Ganze Box-Modell (englisch: Box Model). Stell dir vor, jedes Element auf deiner Webseite ist wie ein Paket – mit Inhalt, Polsterung, Kartonwand und etwas Abstand zum nächsten Paket.

Aufbau des Box-Modells
Ein Element besteht im Box-Modell aus vier Bereichen – von innen nach außen:

  • Content (Inhalt): Der eigentliche Inhalt, z. B. Text oder Bild.
  • Padding (Innenabstand): Der Abstand zwischen Inhalt und Rand der Box. Padding macht die Box „von innen größer“, ohne den Rand zu verändern.
  • Border (Rahmen): Eine sichtbare Linie um die Box – kann z. B. ein Rahmen um einen Button sein.
  • Margin (Außenabstand):Der Abstand zur nächsten Box – sorgt dafür, dass sich Elemente nicht berühren.
  • /* Eine Beispiel-Box mit Farben zur Veranschaulichung */
    .box {
      background-color: lightblue;      /* Inhalt sichtbar machen */
      padding: 20px;                    /* Innenabstand */
      border: 5px solid darkblue;       /* Rahmen */
      margin: 30px;                     /* Abstand zu anderen Elementen */
    }

    Was bewirken die Werte?
    Angenommen, du hast diese .box mit folgendem Inhalt:

    <div class="box">Hallo Welt!</div>

    Dann ergibt sich folgender Aufbau:

  • Inhalt: Der Text „Hallo Welt!“
  • Padding: 20 px Abstand rund um den Text
  • Border: 5 px dicker blauer Rahmen
  • Margin: 30 px freier Platz zur nächsten Box
  • Wenn man die tatsächliche Breite der Box berechnet (z. B. bei einer width: 200px), kommt noch Padding und Border hinzu – es wird also größer als 200px!
    200px (Inhalt) = + 20px + 20px (Padding links + rechts) + 5px + 5px (Border links + rechts) = 250px Gesamtbreite

    Lösung: box-sizing: border-box Dann bleibt die Box exakt 200px breit, weil Padding und Border mit eingerechnet werden.

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

    Beispiel der Boxen

    Im folgenden Beispiel siehst du zwei fast gleich aussehende Boxen. Beide haben:
    eine feste Hintergrundfarbe (hellblau), padding: 20px (Innenabstand), border: 5px (Rahmen), und margin: 30px (Abstand nach außen).

    <!DOCTYPE html>
    <html lang="de">
    <head>
      <meta charset="UTF-8">
      <title>Box</title>
      <style>
      
    body {
      background-color: lightgray;     /* Für besseren Kontrast */
    }
    
      
      
    .box {
      width: 200px;
      background-color: lightblue;      /* Inhalt sichtbar machen */
      padding: 20px;                    /* Innenabstand */
      border: 5px solid darkblue;       /* Rahmen */
      margin: 30px;                     /* Abstand zu anderen Elementen */
    }
    
    .box2 {
      width: 200px;
      background-color: lightblue;     /* Inhalt */
      padding: 20px;
      border: 5px solid blue;
      margin: 30px;
      box-sizing: border-box;
    }
    
    
      </style>
    </head>
    <body>
    
    <div class="box">Hallo Welt!</div>
    
    <div class="box2">Hallo Welt!</div>
    
    </body>
    </html>
    Beispiel bc007