CSS-Box-Modell-Visualisierer
Passen Sie Margin, Border, Padding und Inhaltsmaße an und sehen Sie das CSS-Boxmodell live.
Maße
Padding (px)
Rahmen (px)
Margin (px)
So funktioniert es
- Boxmodell-Werte eingeben: Stellen Sie Margin, Border, Padding und Inhaltsmaße über die Eingabefelder oder interaktiven Regler ein.
- Visualisierung erkunden: Das klassische verschachtelte Box-Diagramm aktualisiert sich in Echtzeit, Margin (orange), Border (gelb), Padding (grün) und Inhalt (blau) sind alle klar beschriftet.
- CSS kopieren: Klicken Sie auf CSS kopieren, um die vollständigen Boxmodell-Eigenschaften für das konfigurierte Element zu erhalten.
Warum den CSS-Boxmodell-Visualisierer nutzen?
Das CSS-Boxmodell ist eines der grundlegendsten Konzepte im Web-Layout, und eine der häufigsten Quellen von Layout-Bugs, vor allem beim Mischen von box-sizing-Werten, beim Margin-Collapsing und bei der Rahmen-Dimensionierung. Dieser interaktive Visualisierer macht das Boxmodell konkret und greifbar: Sie passen Werte an und sehen sofort, wie sich Margin, Border und Padding um den Inhaltsbereich stapeln. Unverzichtbar zum Lernen, Debuggen und Vermitteln von CSS.
Funktionen
- Interaktives Diagramm: die klassische Ansicht des verschachtelten Boxmodells mit farbcodierten Schichten (Margin, Border, Padding, Inhalt).
- box-sizing-Umschalter: Wechseln Sie zwischen content-box und border-box, um zu sehen, wie jeder Modus die Gesamtmaße beeinflusst.
- Einzelne Seiten: Werte für oben/rechts/unten/links unabhängig für Margin, Padding und Border festlegen.
- Gesamtmaß-Berechnung: zeigt die berechnete Gesamtbreite und -höhe des Elements.
- CSS-Ausgabe: erzeugt einsatzbereites CSS für das konfigurierte Boxmodell.
Häufige Fragen
Was ist der Unterschied zwischen content-box und border-box?
Bei content-box (Standard) gelten width und height nur für den Inhaltsbereich, Padding und Border erhöhen die Gesamtgröße des Elements. Bei border-box schließen width und height Padding und Border ein, was die Vorhersage der Elementgrößen erleichtert. Die meisten modernen CSS-Resets wenden box-sizing: border-box auf alle Elemente an.
Was ist Margin-Collapsing?
Wenn zwei vertikale Margins aneinanderstoßen (zwischen benachbarten Block-Elementen oder zwischen Eltern und erstem/letztem Kind), kollabieren sie zu einem einzigen Margin, der dem größeren der beiden Werte entspricht. Bei Flex- oder Grid-Kindern oder bei Elementen mit Padding oder Rahmen geschieht das nicht.
Wie entferne ich zusätzlichen Abstand unterhalb von Inline-Elementen?
Inline-Elemente (wie <img>) haben einen kleinen Abstand darunter, der durch die Grundlinien-Ausrichtung der line-height entsteht. Beheben Sie das, indem Sie display: block am Element setzen oder vertical-align: bottom oder font-size: 0 am Elternelement.
Was das CSS-Box-Modell tatsächlich definiert
Das CSS-Box-Modell ist die Rechteck-Darstellung jedes Elements auf einer Webseite. Jedes Element hat vier konzentrische Boxen: die Content-Box (wo Text, Bilder, Kindelemente leben), die Padding-Box (Raum zwischen Inhalt und Rand, innerhalb der sichtbaren Grenze), die Border-Box (der sichtbare Umriss um das Padding gezeichnet) und die Margin-Box (transparenter Raum außerhalb der Border, der dieses Element von seinen Nachbarn trennt). Die sichtbare Gesamtgröße eines Elements ist Inhalt + Padding + Border; die Margin ist unsichtbar, drückt aber andere Elemente weg.
Das kritische Konzept ist box-sizing. Standardmäßig (box-sizing: content-box, der CSS 1-Spezifikationswert) gelten die width- und height-Eigenschaften nur für die Content-Box. Wenn Sie width: 200px; padding: 20px; border: 2px solid setzen, beträgt die gerenderte Gesamtbreite 200 + 40 + 4 = 244 Pixel. Das ist unintuitiv: ein «200px breites» Element nimmt tatsächlich 244 Pixel horizontalen Platz ein. Die Alternative box-sizing: border-box (in CSS 3 hinzugefügt) kehrt dies um: die width-Eigenschaft ist die sichtbare Gesamtgröße einschließlich Padding und Border, also schrumpft der Inhaltsbereich, um zu passen. border-box ist das, was die meisten Entwickler erwarten; es wurde zum De-facto-Standard über Paul Irishs 2012er «* { box-sizing: border-box }» CSS-Reset.
Das Box-Modell zu verstehen ist wichtig, weil Layout-Bugs fast immer auf Verwirrung darüber zurückgehen, welcher Wert für welche Box gilt. «Warum ist mein Element breiter als ich gesetzt habe?» ist content-box-Überraschung. «Warum schiebt meine Margin die Geschwister nicht nach unten?» ist normalerweise Margin-Collapsing. «Warum verhält sich padding-top: 50% seltsam?» liegt daran, dass prozentuales Padding relativ zur Breite des Elternteils berechnet wird, nicht zur Höhe. Jeder CSS-Entwickler begegnet diesen Verwirrungen; dieser Visualisierer macht sie konkret, indem er Sie Werte anpassen und die resultierende Box-Geometrie in Echtzeit sehen lässt.
Wie dieses Tool hinter den Kulissen funktioniert
Das interaktive Diagramm ist eine Reihe verschachtelter farbiger Divs, die jeder Box entsprechen (Margin in Orange, Border in Gelb, Padding in Grün, Content in Blau). Wenn Sie die Eingabewerte ändern, aktualisiert JavaScript die Inline-style-Attribute der Diagramm-Divs, sodass sie die Werte numerisch und visuell widerspiegeln. Die Proportionen werden skaliert, um in den Vorschaubereich zu passen; absolute Pixel-Werte würden das Diagramm bei typischen Eingaben vom Bildschirm schieben.
Die Gesamtgrößenberechnung hängt vom box-sizing-Modus ab. Für content-box: Gesamtbreite = Inhaltsbreite + padding-left + padding-right + border-left + border-right. Für border-box: Gesamtbreite = der width-Wert (Padding und Border werden vom Inhaltsbereich abgezogen). Das Tool berechnet beide Modi gleichzeitig, wenn Sie box-sizing umschalten, sodass Sie direkt vergleichen können.
Die generierte CSS-Ausgabe verwendet Ihre Eingaben als Eigenschaftswerte: box-sizing: border-box; width: 200px; padding: 10px 20px; border: 2px solid; margin: 1rem auto;. Kopieren Sie dies direkt in Ihr Stylesheet und wenden Sie die passende Klasse an. Nichts verlässt Ihren Browser; alles läuft lokal in JavaScript. Keine Analyse, kein Backend, kein Konto. Aktualisieren Sie und der Zustand ist weg.
Kurze Geschichte des CSS-Box-Modells
- CSS 1 spezifiziert content-box, 1996.Die CSS 1-Empfehlung (Dezember 1996) definiert das W3C-Box-Modell: Breite gilt nur für Inhalt, Padding und Border werden zur Gesamtgröße hinzugefügt. Dies wird zum Standard, aber Internet Explorer 4 und 5 implementieren ein alternatives Modell, bei dem Breite Padding und Border umfasst (ähnlich dem heutigen border-box).
- IE Quirks-Modus und der Box-Modell-Krieg, 1997 bis 2001.IE 4 (1997) und IE 5 werden mit ihrem nicht standardisierten Box-Modell ausgeliefert; IE 6 (2001) führt «Standards-Modus» ein, der durch eine Doctype-Deklaration ausgelöst wird, die zum W3C-Box-Modell wechselt. Die Diskrepanz schafft Jahre browserübergreifender Layout-Bugs und das «Quirks-Modus vs. Standards-Modus»-Wissen, das jeder Web-Entwickler bis 2010 lernen muss.
- CSS-Reset und Eric Meyers klassisches Stylesheet, 2007.Eric Meyer veröffentlicht den kanonischen CSS-Reset (Mai 2007), der Margins, Paddings und andere Standardwerte über alle Elemente hinweg auf null setzt. Wird zur Standardpraxis für vorhersehbares browserübergreifendes Styling. Der Reset adressiert box-sizing nicht direkt, normalisiert aber das Chaos um die geerbten Standards.
- box-sizing-Eigenschaft in CSS3, 2009 bis 2014.CSS3 führt
box-sizing: border-boxals Opt-in-Alternative zu content-box ein. WebKit und Firefox unterstützen es ab 2009; IE 8 (2009) wird zur ersten IE-Version, die es nativ unterstützt. Erlaubt Entwicklern, das IE-Stil- oder W3C-Stil-Box-Modell pro Element zu wählen. - Paul Irishs universelles border-box, 2012.Paul Irish (Google) veröffentlicht den Blog-Post «* { box-sizing: border-box } FTW» (Februar 2012) und argumentiert, dass universelles border-box ein sinnvoller Standard für neue Projekte ist. Das Muster verbreitet sich schnell über Framework-Defaults (Bootstrap, Tailwind, Material UI). Bis 2015 werden die meisten CSS-Resets und Frameworks mit border-box als Standard ausgeliefert.
- Logische Eigenschaften, 2018 bis 2024.CSS Logical Properties and Values Module Level 1 (CR Juni 2018) führt richtungs-agnostische Alternativen ein:
margin-inline-start(Anfang der Textrichtung) stattmargin-left,padding-block(oben + unten) stattpadding-top + padding-bottom. Kritisch für Rechts-nach-Links-Sprachen (Arabisch, Hebräisch) und moderne Internationalisierung. Browser-Unterstützung erreicht bis 2022 95%+.
Reale Arbeitsabläufe
- Layout-Bugs debuggen.Wenn ein Element in einer unerwarteten Größe gerendert wird, zeigt das Öffnen des computed style-Panels der DevTools des Browsers die vier Box-Werte numerisch an. Dieser Visualisierer ist nützlich, um die Mathematik vorher auszuarbeiten: «wenn ich width 200, padding 16, border 2 setze, was ist die Gesamtgröße in jedem box-sizing-Modus?». Besonders nützlich beim Lehren von Juniors, warum
width: 100%mit Padding den Elternteil im content-box-Modus überläuft. - CSS Anfängern beibringen.Das Box-Modell ist das erste abstrakte Konzept, das angehende Web-Entwickler verinnerlichen müssen. Eine farbcodierte interaktive Visualisierung schlägt das Lesen von Spezifikationen. Bootcamp-Instruktoren und Selbststudium-Lerner verwenden Box-Modell-Visualisierer als «taktile» Möglichkeit zu sehen, wie Margin, Border und Padding sich stapeln. Dieses Tool existiert teilweise für diesen Zweck.
- Design-System-Komponentengröße.Design-Systeme spezifizieren Button-Höhen, Padding-Rhythmen und Margin-Skalen in Token (z. B. spacing-1, spacing-2, spacing-3). Bei der Implementierung in Code bestimmt das Box-Modell, ob der endgültig gerenderte Button die beabsichtigte Größe hat. Visualisieren Sie die Mathematik zuerst, um Off-by-padding-Fehler zu fangen, bevor sie zum Figma-zu-React-Handoff gelangen.
- Responsive Design und prozentuale Margins.Prozentwerte für Padding, Margin, width und height werden relativ zur Inhaltsbreite des Elternteils berechnet (nicht der Höhe, überraschenderweise), was auf mobilen Geräten ungewöhnliches Verhalten verursachen kann. Der Box-Modell-Visualisierer hilft Ihnen, durch das nachzudenken, was Prozentsätze bedeuten, bevor Sie das CSS schreiben. Zum Beispiel erzeugt
padding-top: 50%auf einem Div einen Quadrat-Seitenverhältnis-Container (in Vor-aspect-ratio-Property-Tagen für Bild-Platzhalter verwendet). - Barrierefreiheits-Touch-Target-Größe.WCAG 2.1 SC 2.5.5 (Level AAA) empfiehlt mindestens 44x44 CSS-Pixel-Touch-Targets. Das Box-Modell bestimmt, ob der kombinierte Content + Padding eines Buttons diesen Schwellenwert erreicht. Verwenden Sie den Visualisierer, um zu bestätigen, dass
padding: 12px 16pxum 18px Line-Height-Text einen Button ergibt, der 44px in beiden Dimensionen überschreitet und die Richtlinie erfüllt. - CSS Grid und Flexbox-Ausrichtung.Moderne Layout-Tools (CSS Grid, Flexbox) behandeln jedes Grid/Flex-Item als Box, die dem Box-Modell unterliegt. Zu verstehen, wie Padding und Margin mit
gap,justify-contentundalign-itemsinteragieren, erfordert Box-Modell-Fluss. Margin-Collapsing wird innerhalb von Flex/Grid-Containern unterdrückt, was CSS-Entwickler oft überrascht, die an traditionelles Block-Layout gewöhnt sind.
Häufige Fallstricke und was sie bedeuten
- Margin-Collapsing-Überraschungen.Wenn zwei Block-Elemente Margins haben, die sich vertikal berühren, kollabieren sie zum größeren der beiden, nicht zur Summe. Eine 20px untere Margin, die auf eine 30px obere Margin trifft, erzeugt 30px Raum, nicht 50px. Eltern- und Erstes/Letzte-Kind-Margins kollabieren auch, wenn der Elternteil kein Padding, keinen Border oder Overflow gesetzt hat. Innerhalb von Flex- oder Grid-Containern kollabieren Margins nicht. Diese Regel hat jeden CSS-Entwickler irgendwann erwischt.
- content-box vs. border-box-Breite-Mathematik.
width: 100%; padding: 20pxauf einem content-box-Element zu setzen, macht es 40px breiter als den Elternteil (Overflow). Mit border-box sitzt dieselbe Deklaration korrekt innerhalb des Elternteils. Dies ist der häufigste Box-Modell-Stolperstein; die universelle Regel* { box-sizing: border-box }behebt das meiste präventiv. Wissen Sie immer, in welchem Modus Sie arbeiten. - Prozentuales Padding/Margin ist relativ zur Breite.
padding-top: 50%undmargin-bottom: 50%berechnen den Prozentsatz basierend auf der Inhalts-Breite des Elternteils, nicht der Höhe. Das ist nicht offensichtlich und ist die Grundlage des klassischen «Seitenverhältnis-Container»-Hacks (ein Div mitpadding-top: 56.25%erzeugt eine 16:9-Box). Jetzt hat CSS dieaspect-ratio-Eigenschaft, aber Legacy-Code und modernes Tailwind verlassen sich beide auf den Prozent-Padding-Trick. - Inline-Element-Baseline-Lücke.Ein
<img>innerhalb eines Container-Divs hat eine mysteriöse 4 bis 6 Pixel Lücke darunter. Das liegt daran, dass Inline-Elemente sich an der Textbasislinie ausrichten und Platz für Unterlängen lassen. Beheben Sie mitimg { display: block },img { vertical-align: bottom }oder durch Setzen vonfont-size: 0auf dem Elternteil. Dies ist einer der ältesten Box-Modell-Bugs in CSS, der bis 1996 zurückreicht. - Negative Margins für Layout-Tricks.Margins akzeptieren negative Werte, was Elemente aufeinander zuzieht und gelegentlich nützlich ist (z. B. einen Container «außerhalb» des Paddings seines Elternteils erweitern). Allerdings sind negative Margins eine häufige Quelle für verwirrende Überlappungsfehler. Verwenden Sie sie absichtlich, kommentieren Sie Ihren Code und bevorzugen Sie CSS Grid/Flexbox-Positionierung, wenn möglich. Negatives Padding ist ungültiges CSS und wird von Browsern ignoriert.
- Padding + Border + Content > Container.Wenn die Summe Content + Padding + Border die verfügbare Breite des Elternteils überschreitet, läuft das Element über. Häufige Lösungen:
box-sizing: border-box, den width-Wert reduzieren,overflow: hiddenauf dem Elternteil verwenden (Overflow clippen) odermin-width: 0auf Flex-Kindern, um das implizite min-width: auto-Verhalten zu überschreiben. Viele «Layout bricht auf Mobile»-Bugs sind Overflows, die durch Box-Modell-Mathematik verursacht werden.
Datenschutz: alles läuft in Ihrem Browser
CSS-Lern- und Visualisierungs-Tools kommen in zwei Geschmacksrichtungen: einfache HTML-Seiten mit clientseitigem JavaScript (privat, schnell, kein Setup) und Cloud-Editoren mit gespeicherten Projekten (kollaborativ aber mit Datenschutz-Kompromissen). Dieses Tool ist die erste Art. Ihre eingegebenen Werte, Ihr box-sizing-Umschaltzustand, Ihr generiertes CSS: alles bleibt in Ihrer Browser-Sitzung. Aktualisieren Sie die Seite und der Zustand ist weg, es sei denn, Sie haben das CSS zuerst kopiert.
Die Datenschutzrisiken sind hier gering, weil Box-Modell-Werte selten sensible Informationen enthalten. Trotzdem zählt das Fehlen von Analytik: Sie können frei experimentieren, ohne dass Ihr Trial-and-Error-Prozess aufgezeichnet wird. Besonders nützlich in Klassenzimmer- oder Unternehmensschulungs-Umgebungen, wo das Registrieren von Studenten oder Auszubildenden auf Drittanbieter-Plattformen ein Reibungspunkt ist. Dies ist eine einzelne statische Seite ohne Backend, nutzbar in jedem Browser, einschließlich gesperrter Unternehmensmaschinen.
Wann ein anderes Tool die richtige Wahl ist
- Browser-DevTools für Live-Debugging.Chrome- und Firefox-DevTools enthalten ein Box-Modell-Panel, das die vier Box-Werte für jedes ausgewählte Element auf einer Live-Seite anzeigt. Bearbeiten Sie die Werte inline und sehen Sie die Seite aktualisieren. Zum Debuggen tatsächlicher Seiten-Layouts (nicht abstrakter Box-Modell-Exploration) schlägt DevTools dieses Tool, weil es auf Ihrem echten Code mit echten CSS-Kaskaden und Vererbung arbeitet.
- Figma für Design-Spec-Ausgabe.Designer verwenden Figma, Sketch oder Adobe XD, um Komponenten mit exakten Pixelmaßen zu gestalten. Das Inspect-Panel des Design-Tools exportiert Margin- und Padding-Werte, die Entwickler in CSS übersetzen. Für Design-zu-Entwicklung-Handoff ist das Design-Tool die Wahrheitsquelle; dieser Visualisierer dient zum Verständnis von CSS-Verhalten, nicht zur Generierung von Produktions-Komponenten-Specs.
- CSS-in-JS für Komponenten-Kapselung.Beim Bauen von Komponenten-Bibliotheken mit styled-components, Emotion, vanilla-extract oder ähnlichen CSS-in-JS-Lösungen ist das Box-Modell innerhalb jeder Komponente gekapselt. Margins auf dem äußersten Wrapper, Padding innen. Dieser Visualisierer hilft, über die Geometrie einer einzelnen Komponente nachzudenken; die Bibliothek übernimmt die Komponenten-übergreifende Layout-Koordination.
- CSS Grid/Flexbox-Tools für Layout.Für Multi-Element-Layouts (Seiten-Grids, Karten-Galerien, Navigationsleisten) sind CSS Grid und Flexbox die richtigen Abstraktionen, nicht das Box-Modell allein. Unsere Flexbox Generator- und CSS Grid Generator-Tools helfen direkt mit diesen Layouts. Das Box-Modell ist notwendig, aber nicht ausreichend für modernes Layout; verwenden Sie das richtige Tool für die richtige Skala.
Weitere häufig gestellte Fragen
Sollte ich universelles * { box-sizing: border-box } verwenden?
Für die meisten Projekte ja. Paul Irishs Vorschlag von 2012 ist jetzt der Branchen-Default und stimmt damit überein, wie die meisten Entwickler erwarten, dass width und height funktionieren. Frameworks wie Bootstrap, Tailwind, Bulma und Material UI werden mit border-box als Default ausgeliefert. Moderne Projekte, die 2026 beginnen, sollten *, *::before, *::after { box-sizing: border-box; } am Anfang ihres Resets setzen und selten wieder über box-sizing nachdenken müssen. Spezifische Überschreibungen auf content-box sind für einzelne Elemente möglich, wo border-box die Dinge durcheinanderbringen würde.
Warum schiebt meine Margin den Elternteil nach unten statt die Geschwister?
Das ist Margin-Collapsing. Wenn die obere Margin eines Kindes auf den oberen Rand des Elternteils ohne Padding/Border dazwischen trifft, «entkommt» die Margin des Kindes und gilt stattdessen für den Elternteil. Behebungen: padding-top: 1px zum Elternteil hinzufügen (jeder Wert funktioniert), border: 1px solid transparent hinzufügen, den Elternteil als Flex- oder Grid-Container setzen (Collapsing wird in diesen Modi unterdrückt), oder display: flow-root auf dem Elternteil verwenden (eine moderne explizite «neuen Block-Formatting-Context etablieren»-Regel). Alle diese blockieren die Margin daran, durchzukollabieren.
Was ist der Unterschied zwischen margin: auto und margin: 0?
margin: 0 bedeutet keine Margin; das Element sitzt bündig an seinen Nachbarn. margin: auto bedeutet, dass der Browser die Margin berechnet, um verbleibenden horizontalen Platz zu verteilen, typischerweise verwendet, um ein Block-Element zu zentrieren: margin-left: auto; margin-right: auto; teilt den verbleibenden Platz gleichmäßig auf. margin: auto auto auto auto (oder Kurzschreibweise margin: auto) zentriert sowohl horizontal als auch vertikal innerhalb eines Flex-Containers. Außerhalb von Flex/Grid funktionieren nur horizontale Auto-Margins.
Wie unterscheidet sich outline von border?
Outline zeichnet um ein Element herum, ist aber außerhalb des Box-Modells: es fügt nicht zur Größe des Elements hinzu und schiebt Nachbarn nicht weg. Border ist Teil des Box-Modells und fügt zur gerenderten Größe hinzu. Outline wird typischerweise für Fokus-Ringe verwendet (:focus-visible-Outlines), wo Sie einen sichtbaren Indikator ohne Layout-Verschiebung wollen. Border wird verwendet, wenn die Linie Teil der Struktur des Elements sein soll. Entfernen Sie outline: none nicht, ohne einen alternativen Fokus-Indikator bereitzustellen; das zu tun bricht Tastatur-Barrierefreiheit.
Warum logische Eigenschaften wie margin-inline-start verwenden?
Logische Eigenschaften (margin-block-start, padding-inline usw.) passen sich an die Schreibrichtung des Dokuments an. Im Englischen (von links nach rechts) ist margin-inline-start dasselbe wie margin-left. Im Arabischen oder Hebräischen (von rechts nach links) wird es automatisch zu margin-right. Für Sites, die mehrere Sprachen unterstützen, machen logische Eigenschaften CSS-Internationalisierung automatisch. Für rein englische Sites sind sie effektiv äquivalent, signalisieren aber Absicht klarer: «diese Margin ist am Anfang des Textflusses» statt «diese Margin ist auf der linken Seite».
Wie erstelle ich eine Box mit festem Seitenverhältnis?
Der moderne Weg ist die CSS-Eigenschaft aspect-ratio: aspect-ratio: 16/9 auf einem Div macht seine Höhe automatisch 9/16 seiner Breite. Unterstützt in allen modernen Browsern (2021+). Die Legacy-Technik verwendet padding-top als Prozentsatz: ein Div mit padding-top: 56.25% erzeugt ein 16:9-Verhältnis (9/16 = 56,25%). Der padding-top-Trick funktioniert immer noch, aber die Eigenschafts-Syntax ist sauberer. Verwenden Sie aspect-ratio für neuen Code; der Legacy-Hack bleibt in Tailwind und anderen Tools, die breite Browser-Unterstützung benötigen.