edubun
Deutsch

Das Box-Modell

Gib einer Box width: 200px, 16px Innenabstand und einen Rahmen von 2px, und standardmäßig nimmt sie auf dem Bildschirm 236 Pixel Breite ein, nicht 200.

Jedes Element ist eine Box

Um eine Seite anzuordnen, macht der Browser aus jedem Element ein Rechteck. Jede Box hat vier Schichten, von innen nach außen. Der Inhaltsbereich enthält den Text oder das Bild. Padding (Innenabstand) ist Raum innerhalb der Box zwischen Inhalt und Rahmen und trägt die Hintergrundfarbe der Box. Der Rahmen (border) ist eine Linie um das Padding. Margin (Außenabstand) ist Raum außerhalb des Rahmens, der andere Boxen wegschiebt. Er ist immer durchsichtig. Die Entwicklerwerkzeuge des Browsers zeichnen genau dieses Schema, wenn du ein Element untersuchst, mit eingetragenen Zahlen.

Inhalt, Padding, Rahmen und Margin. Mit der Standardeinstellung content-box legt width nur den Inhalt fest: 200 + 16 + 16 + 2 + 2 = 236 Pixel breit.

Kurzschreibweise für vier Seiten

padding, margin und border-width nehmen einen bis vier Werte, im Uhrzeigersinn von oben. padding: 16px setzt alle vier Seiten. padding: 8px 16px setzt oben und unten auf 8 und links und rechts auf 16. padding: 4px 8px 12px 16px setzt oben, rechts, unten und links in dieser Reihenfolge. Jede Seite lässt sich auch einzeln setzen, etwa mit margin-top. border: 2px solid #333 setzt Breite, Stil und Farbe zusammen. Ohne einen Stil wie solid oder dashed wird überhaupt kein Rahmen gezeichnet.

box-sizing: die Einstellung, die fast alle ändern

Standardmäßig legen width und height nur die Größe des Inhaltsbereichs fest, Padding und Rahmen kommen obendrauf. Das ist das Modell content-box, und es macht Layouts umständlich: Zwei Boxen mit width: 50% passen mit etwas Padding nicht mehr nebeneinander. Mit box-sizing: border-box enthält die Breite Padding und Rahmen, und der Inhaltsbereich schrumpft, um Platz zu machen. Viele Stylesheets wenden das gleich zu Beginn auf jedes Element an, mit *, *::before, *::after { box-sizing: border-box; }.

Block- und Inline-Boxen

Boxen verhalten sich je nach ihrem Wert für display unterschiedlich. Block-Boxen wie p, h1 und section beginnen in einer neuen Zeile und dehnen sich auf die Breite ihres Containers aus. Inline-Boxen wie a, strong und span sitzen in einer Textzeile. width und height gelten für sie nicht, und ihr senkrechtes Padding und ihr senkrechter Margin schieben andere Zeilen nicht weg. display: inline-block liegt dazwischen: Die Box fließt wie ein Wort in der Zeile mit, beachtet aber Breite, Höhe und Padding. Das passt für kleine Labels und Buttons.

Margins, die zusammenfallen

Eine Regel überrascht fast alle. Trifft der untere Margin eines Blocks auf den oberen Margin des nächsten, addieren sie sich nicht, sondern der größere gewinnt. Ein Absatz mit margin-bottom: 20px, gefolgt von einer Überschrift mit margin-top: 30px, hat am Ende 30 Pixel Abstand, nicht 50. Das nennt man Margin Collapsing (zusammenfallende Außenabstände). Es betrifft nur senkrechte Margins zwischen Blöcken im normalen Fluss, nicht innerhalb von Flex- oder Grid-Containern. Um einen Block waagerecht zu zentrieren, gib ihm eine width oder max-width und margin: 0 auto: Die beiden automatischen seitlichen Margins teilen sich den freien Platz gleichmäßig.

Outlines werden außerhalb des Rahmens gezeichnet und nehmen keinen Platz ein. Deshalb nutzen Browser sie für den Fokusring der Tastatur. Wenn du eine Outline mit outline: none entfernst, ersetze sie durch einen anderen deutlichen Fokusstil.
InhaltsbereichWo Text und Bilder sitzen
Padding (Innenabstand)Raum innerhalb des Rahmens; zeigt den Hintergrund
Rahmen (border)Linie um das Padding; braucht einen Stil
Margin (Außenabstand)Durchsichtiger Raum außerhalb des Rahmens
box-sizing: border-boxwidth enthält Padding und Rahmen
Margin CollapsingAufeinandertreffende senkrechte Margins: Der größere gewinnt
inline-blockFließt in der Zeile mit, beachtet aber Breite und Padding
  1. Ordne die Schichten von innen nach außen.
  2. content-box: width 300px, padding 20px, border 5px. Wie breit ist sie insgesamt?
  3. border-box: width 300px, padding 20px, border 5px. Wie breit ist der Inhaltsbereich?
  4. Was setzt margin: 10px 20px?
    • 10 oben und unten, 20 links und rechts
    • 10 links und rechts, 20 oben und unten
    • 10 oben, 20 unten
  5. padding: 1px 2px 3px 4px: Wie viel ist links?
  6. Ein margin-bottom von 20px trifft auf ein margin-top von 30px. Wie groß ist der Abstand?
  7. Warum zeichnet border: 2px #333 nichts?
    • Es fehlt ein Rahmenstil wie solid
    • Die Farbe ist zu dunkel
    • Rahmen brauchen einen Margin
  8. Mit welchem display-Wert bekommt ein span Breite und senkrechtes Padding und bleibt trotzdem in der Zeile?
    • inline-block
    • inline
    • none
  9. Wie zentriert man einen 600px breiten Block waagerecht?
    • margin: 0 auto
    • padding: auto
    • text-align: center on the block
  10. Welcher Teil der Box zeigt die Hintergrundfarbe?
    • Inhalt und Padding (und unter dem Rahmen)
    • Nur der Inhalt
    • Auch der Margin
Das Wichtigste
  • Inhalt, Padding, Rahmen, Margin.
  • content-box rechnet Padding und Rahmen zur Breite dazu, border-box schließt sie ein.
  • Die Kurzschreibweise geht im Uhrzeigersinn von oben; aufeinandertreffende senkrechte Margins fallen zusammen.
Quellen zu diesem Kurs (6)
  • W3C CSS Working Group specifications: CSS Snapshot 2025, Selectors Level 4, CSS Cascading and Inheritance Level 5, CSS Color Level 4, CSS Values and Units Level 4, CSS Box Model Level 3, CSS Box Sizing Level 3, CSS Fonts Level 4, CSS Flexible Box Layout Level 1, CSS Grid Layout Level 2, Media Queries Level 4 and Level 5 (w3.org/TR/, checked 2026-10-17)
  • MDN Web Docs, Learn web development: CSS styling basics and CSS layout, and the CSS reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Styling_basics, .../Core/CSS_layout, developer.mozilla.org/en-US/docs/Web/CSS, checked 2026-10-17)
  • W3C, CSS history and CSS1 Recommendation of 17 December 1996 (w3.org/Style/CSS20/history.html, w3.org/press-releases/1996/css1-rec, checked 2026-10-17)
  • W3C WCAG 2.2, success criteria 1.4.3 Contrast (Minimum)
  • 1.4.8 Visual Presentation, 1.4.10 Reflow, 1.4.12 Text Spacing (w3.org/TR/WCAG22/, checked 2026-10-17)
  • every code exercise checked with a Playwright probe against a reference solution.

Abgerufen: 2026-10-17