Menu

Margin vs Padding in CSS: der Unterschied nebeneinander

Padding ist der Abstand innerhalb des Rahmens eines Elements, Margin der Abstand außerhalb. Sieh beides an derselben Box, nebeneinander und live, und lerne, was du für Hintergründe, Klickflächen, Abstände zwischen Elementen und zum Zentrieren nimmst.

Diese Seite enthält ausführbare Editoren - bearbeiten, ausführen und Ausgabe sofort sehen.

Der Unterschied in einem Bild

Padding liegt innerhalb des Rahmens. Margin liegt außerhalb. Beide Boxen unten haben denselben Inhalt und denselben Wert von 24px; nur die Eigenschaft ist anders. Das Grau ist der Container dahinter.

Mit Padding sind die 24px blau: Sie gehören zur Box, liegen innerhalb des Rahmens, und die Box wächst. Mit Margin sind die 24px grau: Die Box bleibt eng um ihren Text, und der Abstand außen drückt die Ränder des Containers weg.

Probier beides an einer Box aus

Bewege die beiden Schieberegler. Padding lässt die blaue Box wachsen; Margin rückt die Box von den grauen Rändern weg, ohne sie zu verändern.

Achte auf die Zeile mit der Größe: Sie ändert sich, wenn du den Padding-Regler bewegst, und bleibt gleich, wenn du den Margin-Regler bewegst.

Margin vs Padding im Überblick

PaddingMargin
WoInnerhalb des RahmensAußerhalb des Rahmens
HintergrundZeigt den Hintergrund des ElementsImmer transparent
Teil der KlickflächeJaNein
Vergrößert das ElementJa, unter content-boxNein
Kann auto seinNeinJa (margin: 0 auto zentriert)
Kann negativ seinNeinJa
Vertikale Werte fallen zusammenNieJa, benachbarte vertikale Margins fallen zusammen
Prozent bezogen aufBreite des umgebenden BlocksBreite des umgebenden Blocks
Typischer EinsatzAbstand in Buttons, Karten, EingabefeldernAbstand zwischen Elementen, Zentrieren

Jede Eigenschaft hat eine eigene Seite mit allen Details: CSS Padding und CSS Margin.

Welche du nimmst

Stell dir eine Frage: Gehört der Abstand zum Element, oder liegt er zwischen Elementen?

  • Luft um die Beschriftung eines Buttons, das Innere einer Karte, Abstand zwischen dem Text eines Eingabefelds und seinem Rahmen: Padding. Es übernimmt den Hintergrund und vergrößert die Zielfläche.
  • Abstand zwischen zwei Absätzen, zwischen Karten, um einen Abschnitt: Margin, oder gap, wenn das Elternelement ein Flex- oder Grid-Container ist.

Am wichtigsten ist die Wahl bei der Klickfläche. Die beiden Links unten nehmen auf der Seite gleich viel Platz ein, aber beim ersten ist der Abstand Padding und beim zweiten Margin. Nur der erste ist leicht zu treffen:

Die gestrichelte bernsteinfarbene Umrandung ist der Rand des Elements, also die Fläche, die auf Klicks und Tippen reagiert. Das Margin um den zweiten Link ist leerer Raum, der nichts tut.

Abstand zwischen Items: Margin oder gap

Für eine Reihe oder ein Raster von Items ist gap am Flex- oder Grid-Elternelement meist sauberer als Margins an jedem Kind: Es wirkt nur zwischen den Items, nie vor dem ersten oder nach dem letzten, also gibt es nichts rückgängig zu machen.

Hier nutzt der graue Container Padding (Abstand in ihm, grau), die Items nutzen Padding (Abstand in jedem, grün), und gap kümmert sich um den Abstand dazwischen.

Häufige Fehler

  • Margin für Abstand nutzen, der farbig sein soll. Margin ist transparent. Soll der Abstand den Hintergrund zeigen, ist es Padding.
  • Margin nutzen, um einen Link größer zu machen. Die Klickfläche endet am Rahmen; nimm Padding.
  • Erwarten, dass zwei vertikale Margins von 20px zusammen 40px ergeben. Benachbarte vertikale Margins fallen auf 20px zusammen. Padding fällt nie zusammen.
  • padding: auto zum Zentrieren versuchen. Nur Margin akzeptiert auto.
  • Vergessen, dass Padding die Box vergrößert. Füge box-sizing: border-box hinzu, damit width es einschließt.

Häufig gestellte Fragen

Was ist der Unterschied zwischen Margin und Padding?

Padding ist der Abstand zwischen dem Inhalt eines Elements und seinem Rahmen, also innerhalb des Elements. Margin ist der Abstand außerhalb des Rahmens, zwischen dem Element und seinen Nachbarn. Padding zeigt den Hintergrund des Elements; Margin ist immer transparent.

Wann nehme ich Padding statt Margin?

Nimm Padding für Abstand, der zum Element gehört: Luft um den Text eines Buttons, das Innere einer Karte, alles, was den Hintergrund teilen oder klickbar sein soll. Nimm Margin (oder gap in Flex und Grid) für Abstand zwischen getrennten Elementen.

Machen Padding oder Margin das Element größer?

Padding schon, unter dem Standard box-sizing: content-box: Es wird zu Breite und Höhe addiert. Margin wird nie zur Größe des Elements addiert, sondern fügt Abstand drumherum hinzu (ein Block mit width: auto wird sogar schmaler, weil seine Margins einen Teil der verfügbaren Breite belegen). Mit box-sizing: border-box wird Padding stattdessen von der Breite abgezogen.

Kann Padding negativ sein wie Margin?

Nein. Negatives Padding ist ungültig und wird ignoriert, negative Margins sind dagegen erlaubt und können Elemente überlappen lassen. Padding kann auch nicht auto sein, deshalb zentriert man mit margin: 0 auto.

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S