Wann wird Rand gegen Auffüllen in CSS verwendet? [Geschlossen]
2357
Gibt es beim Schreiben von CSS eine bestimmte Regel oder Richtlinie, anhand derer entschieden werden sollte, wann marginund wann verwendet werden soll padding?
TL; DR: Standardmäßig verwende ich überall einen Rand, außer wenn ich einen Rand oder Hintergrund habe und den Platz in diesem sichtbaren Feld vergrößern möchte.
Für mich besteht der größte Unterschied zwischen Polsterung und Rand darin, dass vertikale Ränder automatisch kollabieren und Polster nicht.
Betrachten Sie zwei übereinanderliegende Elemente mit einer Polsterung von 1em. Diese Polsterung wird als Teil des Elements betrachtet und bleibt immer erhalten.
Sie erhalten also den Inhalt des ersten Elements, gefolgt vom Auffüllen des ersten Elements, gefolgt vom Auffüllen des zweiten Elements, gefolgt vom Inhalt des zweiten Elements.
Somit wird der Inhalt der beiden Elemente 2emgetrennt.
Ersetzen Sie nun diese Polsterung durch 1em Rand. Ränder werden als außerhalb des Elements befindlich betrachtet, und Ränder benachbarter Elemente überlappen sich.
In diesem Beispiel erhalten Sie den Inhalt des ersten Elements, gefolgt von einem 1emkombinierten Rand, gefolgt vom Inhalt des zweiten Elements. Der Inhalt der beiden Elemente ist also nur 1emgetrennt.
Dies kann sehr nützlich sein, wenn Sie wissen, dass Sie 1emeinen Abstand um ein Element angeben möchten , unabhängig davon, neben welchem Element es sich befindet.
Die anderen beiden großen Unterschiede bestehen darin, dass die Auffüllung im Klickbereich und in der Hintergrundfarbe / im Hintergrundbild enthalten ist, nicht jedoch im Rand.
div.box > div {height:50px;width:50px;border:1px solid black;text-align: center;}
div.padding > div {padding-top:20px;}
div.margin > div {margin-top:20px;}
+1 Beim Stylen von Typografie und abrupten Sequenzen von Absätzen, Überschriften und Listen ist es fast immer besser, die Elemente mit Rändern zu platzieren, da das Verhalten beim Zusammenfallen benachbarter Ränder auftritt .
Pete B
17
Warum kollabieren vertikale Ränder, horizontale nicht? Das könnte viele Leute verwirren
Marcos Pereira
16
Die vertikalen Ränder werden nur für Blockelemente reduziert. Bei Inline-Blockelementen werden die Ränder sowohl vertikal als auch horizontal hinzugefügt. Ich bin mir also nicht sicher, ob es ein Problem ist, dass horizontale Ränder bei Blockelementen nicht kollabieren, da sie sowieso ihren Container füllen.
Mike
2
"Warum kollabieren vertikale Ränder, horizontale nicht?" Es gibt keinen Mechanismus, um Blockelemente nebeneinander zu platzieren, ohne Floats zu verwenden - deren Ränder ohnehin nie kollabieren (auch nicht vertikal) oder absolut positioniert sind, wo es offensichtlich kein Kollabieren gibt, oder Inline-Block, der ein anderes Modell verwendet, wenn es berücksichtigt wird Inline und Inhalt (Leerzeichen, Text) sind von Bedeutung, oder andere Dinge wie Tabellen, Flexboxen und Spalten, bei denen die Lücke zwischen den Spalten ein besonderes Verhalten aufweist. Kurz gesagt, es gibt keinen Ort, an dem ein horizontaler
Randkollaps
5
Beachten Sie auch, dass das Auffüllen in der Gesamtbreite / -höhe des Elements enthalten ist. box-sizing: border-box;Wenn Sie es width: 100px; padding-left: 20px;also verwenden, beträgt die Gesamtbreite immer noch 100 Pixel, aber der Bereich für den Inhalt wird um 20 Pixel reduziert, im Gegensatz dazu, box-sizing: content-box;wenn das Auffüllen bei der Berechnung der Inhaltsbreite separat ist das macht Ihre Gesamtbreite 120px im Inhaltsfeld;
Jomar Sevillejo
1494
Der Rand befindet sich außen an den Blockelementen, während sich die Polsterung innen befindet.
Verwenden Sie den Rand, um den Block von Dingen außerhalb zu trennen
Verwenden Sie Polsterung, um den Inhalt von den Kanten des Blocks zu entfernen.
Die richtige Antwort ist jedoch @pavon unten. Die Ränder benachbarter Elemente überlappen sich, während sich die Polster nicht überlappen. dh die totale Trennung istpadding(A) + padding(B) + max(margin(A), margin(B))
Nekromant
9
Hier ist eine gute Vorgehensweise: Verwenden Sie einen durchgezogenen roten Rand , um die Polsterung und den Rand zu überprüfen. Manchmal könnten wir Dinge durcheinander bringen <a>, die Text enthalten, umgeben von Polsterung und Rand. Verwenden Sie diesen Trick, um zu überprüfen, wie viel Speicherplatz wir anklicken können.
p3nchan
589
Das Beste, was ich gesehen habe, um dies anhand von Beispielen, Diagrammen und sogar einer Ansicht zum Ausprobieren zu erklären, finden Sie hier .
Das folgende Diagramm gibt meiner Meinung nach ein sofortiges visuelles Verständnis des Unterschieds.
Es gibt weitere technische Erklärungen für Ihre Frage. Wenn Sie jedoch nach einer Möglichkeit suchen , über Ränder und Auffüllungen nachzudenken , die Ihnen bei der Auswahl des Zeitpunkts und der Verwendung helfen, kann dies hilfreich sein.
Vergleichen Sie Blockelemente mit Bildern, die an einer Wand hängen:
Das Browserfenster ist genau wie die Wand.
Der Inhalt ist wie ein Foto.
Der Rand entspricht genau dem Wandabstand zwischen gerahmten Bildern.
Die Polsterung entspricht der Mattierung eines Fotos.
Der Rand ist genau wie der Rand eines Rahmens.
Wenn zwischen Marge und Polsterung entscheiden, ist es eine nette Daumenregel zu verwenden Marge , wenn Sie ein Element in Beziehung an der Wand zu anderen Dingen sind Abstand und Polsterung , wenn Sie das Aussehen des Elements selbst sind anzupassen. Der Rand ändert die Größe des Elements nicht, aber durch Auffüllen wird das Element normalerweise größer 1 .
Eigentlich bin ich nicht damit einverstanden box-sizing: border-box, "den Platz für den Inhalt kleiner zu machen". Hier ist eine Geige mit 2 Feldern, bei denen es egal war, ob ich sie verwendete, wenn ich sie immer wieder auffüllte und beim Aktivieren "Aktiv" und dann "Deaktivieren" hinzufügte box-sizing. Es würde die Box immer noch erweitern. Ich musste die Polsterung so weit wie möglich maximieren, bis die Box erweitert war, und dann mit Versuch und Irrtum eine passende Kombination für die anderen Wörter in der Box finden, die für jedes Wort die gleiche Breite beibehält
vapcguy
3
Hey vapcguy, danke für deine Eingabe. Meine Aussage ist im Allgemeinen richtig, wenn für ein Element Breite oder Höhe deklariert wird, während ein Element mit nicht deklarierten Dimensionen nicht wirklich betroffen ist border-box(siehe: jsfiddle.net/8yravLmL/1 ). Ich werde meine Antwort nuancierter gestalten, um Verwirrung zu vermeiden.
stvnrynlds
86
MARGIN vs PADDING :
Der Rand wird in einem Element verwendet, um einen Abstand zwischen diesem Element und anderen Elementen der Seite herzustellen. Wo Auffüllen verwendet wird, um Abstand zwischen Inhalt und Rand eines Elements zu erstellen.
Der Rand ist nicht Teil eines Elements, bei dem das Auffüllen Teil des Elements ist.
Verweisen auf den Rand und nicht auf den eher vagen "Rand befindet sich außen an den Blockelementen, während sich die Polsterung innen befindet." außen / innen von was? Und außen / innen deutet auf eine statische Position hin, nicht dass dies die Größe des enthaltenen Elements beeinflusst. Diese Antwort hat es für mich klargestellt.
Vielen Dank. Ein Bild sagt mehr als tausend Worte!
Catbuilts
33
Hier finden Sie HTML- Code, der zeigt, wie paddingund wie sich margindie Klickbarkeit und die Hintergrundfüllung auswirken. Ein Objekt erhält Klicks auf seine Auffüllung, aber Klicks auf einen Randbereich eines Objekts gehen an sein übergeordnetes Objekt.
Die Sache mit den Rändern ist, dass Sie sich keine Gedanken über die Breite des Elements machen müssen.
Wenn Sie etwas geben {padding: 10px;}, müssen Sie die Breite des Elements um 20 Pixel reduzieren , um die Passform zu erhalten und andere Elemente in der Umgebung nicht zu stören.
Daher beginne ich im Allgemeinen mit Polstern, um alles zu erhalten packed, und verwende dann Ränder für kleinere Änderungen.
Beachten Sie auch, dass die Auffüllungen in verschiedenen Browsern konsistenter sind und der IE negative Ränder nicht sehr gut behandelt.
Der Rand löscht einen Bereich um ein Element (außerhalb des Rahmens), aber der Abstand löscht einen Bereich um den Inhalt (innerhalb des Rahmens) eines Elements.
Dies bedeutet, dass Ihr Element die äußeren Ränder nicht kennt. Wenn Sie also dynamische Websteuerelemente entwickeln, empfehle ich, wenn möglich Padding vs margin zu verwenden.
Beachten Sie, dass Sie manchmal den Rand verwenden müssen.
Eine Sache, die Sie beachten sollten, ist, wenn Sie automatisch reduzierte Ränder stören (und Sie keine Hintergrundfarben für Ihre Elemente verwenden), was das Auffüllen nur einfacher macht.
Es ist unangemessen, paddingInhalte in einem Element zu platzieren. Sie müssen verwenden marginauf das Kind - Element statt. Ältere Browser wie Internet Explorer haben das Box-Modell falsch interpretiert, außer wenn es um die Verwendung ging, margindie in Internet Explorer 4 perfekt funktioniert .
Es gibt zwei Ausnahmen bei der Verwendung paddingist geeignet Verwendung:
Es ist ein Inline - Element angelegt , die nicht , können keine Kind - Elemente , wie beispielsweise ein Eingangselement enthalten.
Wenn Sie einen sehr verschieden Browser Fehler kompensieren , die ein Anbieter * hust * Mozilla * hust * weigert sich sicher zu fixieren und sind (in dem Maße , dass Sie einen regelmäßigen Austausch mit W3C und WHATWG Redakteure halten) , dass Sie müssen eine funktionierende Lösung und diese Lösung haben wirkt sich nicht auf das Styling von etwas anderem als dem Fehler aus, den Sie kompensieren.
Wenn Sie ein Element mit 100% Breite haben, erhalten padding: 50px;Sie effektiv width: calc(100% + 100px);. Da margines nicht zum Element hinzugefügt widthwird, verursacht es keine unerwarteten Layoutprobleme, wenn Sie marginon child elementsanstelle von paddingdirekt auf dem Element verwenden.
Wenn Sie also eines dieser beiden Dinge nicht tun , fügen Sie dem Element keine Auffüllung hinzu, sondern den direkten untergeordneten Elementen, um sicherzustellen, dass Sie in allen Browsern das erwartete Verhalten erhalten .
Schauen wir uns zunächst die Unterschiede und die jeweiligen Verantwortlichkeiten an:
1)
Rand Die CSS-Randeigenschaften werden verwendet, um Platz um Elemente herum zu generieren.
Die Randeigenschaften legen die Größe des Leerraums außerhalb des Rahmens fest. Mit CSS haben Sie die volle Kontrolle über die Ränder. Es gibt CSS-Eigenschaften zum Festlegen des Randes für jede Seite eines Elements (oben, rechts, unten und links).
2) Auffüllen
Die CSS-Auffüllungseigenschaften werden verwendet, um Platz um den Inhalt herum zu generieren.
Durch das Auffüllen wird ein Bereich um den Inhalt (innerhalb des Rahmens) eines Elements gelöscht. Mit CSS haben Sie die volle Kontrolle über das Auffüllen. Es gibt CSS-Eigenschaften zum Festlegen der Auffüllung für jede Seite eines Elements (oben, rechts, unten und links).
Ränder sind also einfach Leerzeichen um Elemente, während Auffüllen Leerzeichen um Inhalte sind, die Teil des Elements sind.
Dieses Bild von Codemancern zeigt, wie Rand und Rahmen zusammenwachsen und wie sich Rahmen und Inhaltsfeld unterscheiden.
Außerdem definieren sie jeden Abschnitt wie folgt:
Inhalt - Dies definiert den Inhaltsbereich des Felds, in dem sich der eigentliche Inhalt wie Text, Bilder oder andere Elemente befindet.
Auffüllen - Hiermit wird der Hauptinhalt aus der enthaltenen Box gelöscht.
Rand - Dies umgibt sowohl den Inhalt als auch das Auffüllen.
Rand - Dieser Bereich definiert einen transparenten Raum, der ihn von anderen Elementen trennt.
Diese Antwort scheint von einem anderen Ort kopiert und eingefügt worden zu sein. Der enthaltene Link von "Codemancers" hat nichts mit Antwort zu tun.
Alex Angas
2
Alex, das Bild und ein Teil der Antwort, die hervorgehoben wurden, stammen von Codemancern. Bitte vergewissern Sie sich, bevor Sie einen Kommentar hinterlassen und abstimmen
Alireza
8
Ich benutze immer dieses Prinzip:
Dies ist das Box-Modell aus der Inspect-Element-Funktion in Firefox. Es funktioniert wie eine Zwiebel:
Ihr Inhalt ist in der Mitte.
Das Auffüllen ist der Abstand zwischen Ihrem Inhalt und dem Rand des Tags, in dem es sich befindet.
Die Grenze und ihre Spezifikationen
Der Rand ist der Abstand um das Tag.
Größere Ränder schaffen also mehr Platz um die Box, die Ihren Inhalt enthält.
Eine größere Polsterung vergrößert den Abstand zwischen Ihrem Inhalt und der Box, in der er sich befindet.
Keiner von beiden vergrößert oder verkleinert die Box, wenn sie auf einen bestimmten Wert eingestellt ist.
Der Rand wird normalerweise verwendet, um einen Raum zwischen dem Element selbst und seiner Umgebung zu schaffen.
Zum Beispiel verwende ich es, wenn ich eine Navigationsleiste baue, damit sie an den Rändern des Bildschirms haftet und keine weiße Lücke aufweist.
Polsterung
Ich verwende es normalerweise, wenn ich ein Element innerhalb eines Rahmens <div>oder ähnlichem habe und seine Größe verringern möchte, aber zu der Zeit möchte ich den Abstand oder den Rand zwischen den anderen Elementen um ihn herum beibehalten.
So kurz, es ist situativ; es hängt davon ab, was Sie versuchen zu tun.
padding
für<a>
Tags, wenn Sie den fokussierbaren Bereich vergrößern möchten .Antworten:
TL; DR: Standardmäßig verwende ich überall einen Rand, außer wenn ich einen Rand oder Hintergrund habe und den Platz in diesem sichtbaren Feld vergrößern möchte.
Für mich besteht der größte Unterschied zwischen Polsterung und Rand darin, dass vertikale Ränder automatisch kollabieren und Polster nicht.
Betrachten Sie zwei übereinanderliegende Elemente mit einer Polsterung von
1em
. Diese Polsterung wird als Teil des Elements betrachtet und bleibt immer erhalten.Sie erhalten also den Inhalt des ersten Elements, gefolgt vom Auffüllen des ersten Elements, gefolgt vom Auffüllen des zweiten Elements, gefolgt vom Inhalt des zweiten Elements.
Somit wird der Inhalt der beiden Elemente
2em
getrennt.Ersetzen Sie nun diese Polsterung durch 1em Rand. Ränder werden als außerhalb des Elements befindlich betrachtet, und Ränder benachbarter Elemente überlappen sich.
In diesem Beispiel erhalten Sie den Inhalt des ersten Elements, gefolgt von einem
1em
kombinierten Rand, gefolgt vom Inhalt des zweiten Elements. Der Inhalt der beiden Elemente ist also nur1em
getrennt.Dies kann sehr nützlich sein, wenn Sie wissen, dass Sie
1em
einen Abstand um ein Element angeben möchten , unabhängig davon, neben welchem Element es sich befindet.Die anderen beiden großen Unterschiede bestehen darin, dass die Auffüllung im Klickbereich und in der Hintergrundfarbe / im Hintergrundbild enthalten ist, nicht jedoch im Rand.
quelle
box-sizing: border-box;
Wenn Sie eswidth: 100px; padding-left: 20px;
also verwenden, beträgt die Gesamtbreite immer noch 100 Pixel, aber der Bereich für den Inhalt wird um 20 Pixel reduziert, im Gegensatz dazu,box-sizing: content-box;
wenn das Auffüllen bei der Berechnung der Inhaltsbreite separat ist das macht Ihre Gesamtbreite 120px im Inhaltsfeld;Der Rand befindet sich außen an den Blockelementen, während sich die Polsterung innen befindet.
quelle
padding(A) + padding(B) + max(margin(A), margin(B))
<a>
, die Text enthalten, umgeben von Polsterung und Rand. Verwenden Sie diesen Trick, um zu überprüfen, wie viel Speicherplatz wir anklicken können.Das Beste, was ich gesehen habe, um dies anhand von Beispielen, Diagrammen und sogar einer Ansicht zum Ausprobieren zu erklären, finden Sie hier .
Das folgende Diagramm gibt meiner Meinung nach ein sofortiges visuelles Verständnis des Unterschieds.
Beachten Sie, dass standardkonforme Browser ( IE-Macken sind eine Ausnahme ) nur den Inhaltsteil auf die angegebene Breite rendern. Behalten Sie dies also bei Layoutberechnungen im Auge . Beachten Sie auch, dass Borderbox ein Comeback erlebt, das von Bootstrap 3 unterstützt wird.
quelle
Es gibt weitere technische Erklärungen für Ihre Frage. Wenn Sie jedoch nach einer Möglichkeit suchen , über Ränder und Auffüllungen nachzudenken , die Ihnen bei der Auswahl des Zeitpunkts und der Verwendung helfen, kann dies hilfreich sein.
Vergleichen Sie Blockelemente mit Bildern, die an einer Wand hängen:
Wenn zwischen Marge und Polsterung entscheiden, ist es eine nette Daumenregel zu verwenden Marge , wenn Sie ein Element in Beziehung an der Wand zu anderen Dingen sind Abstand und Polsterung , wenn Sie das Aussehen des Elements selbst sind anzupassen. Der Rand ändert die Größe des Elements nicht, aber durch Auffüllen wird das Element normalerweise größer 1 .
1 Dieses Standardboxmodell kann mit dem
box-sizing
Attribut geändert werden .quelle
box-sizing: border-box
, "den Platz für den Inhalt kleiner zu machen". Hier ist eine Geige mit 2 Feldern, bei denen es egal war, ob ich sie verwendete, wenn ich sie immer wieder auffüllte und beim Aktivieren "Aktiv" und dann "Deaktivieren" hinzufügtebox-sizing
. Es würde die Box immer noch erweitern. Ich musste die Polsterung so weit wie möglich maximieren, bis die Box erweitert war, und dann mit Versuch und Irrtum eine passende Kombination für die anderen Wörter in der Box finden, die für jedes Wort die gleiche Breite beibehältborder-box
(siehe: jsfiddle.net/8yravLmL/1 ). Ich werde meine Antwort nuancierter gestalten, um Verwirrung zu vermeiden.MARGIN vs PADDING :
Der Rand wird in einem Element verwendet, um einen Abstand zwischen diesem Element und anderen Elementen der Seite herzustellen. Wo Auffüllen verwendet wird, um Abstand zwischen Inhalt und Rand eines Elements zu erstellen.
Der Rand ist nicht Teil eines Elements, bei dem das Auffüllen Teil des Elements ist.
Bitte beziehen Sie sich auf das folgende Bild, das aus Margin Vs Padding - CSS Properties extrahiert wurde
quelle
Von https://www.w3schools.com/css/css_boxmodel.asp
Live-Beispiel (herumspielen durch Ändern der Werte): https://www.w3schools.com/css/tryit.asp?filename=trycss_boxmodel
quelle
Hier finden Sie HTML- Code, der zeigt, wie
padding
und wie sichmargin
die Klickbarkeit und die Hintergrundfüllung auswirken. Ein Objekt erhält Klicks auf seine Auffüllung, aber Klicks auf einen Randbereich eines Objekts gehen an sein übergeordnetes Objekt.quelle
Die Sache mit den Rändern ist, dass Sie sich keine Gedanken über die Breite des Elements machen müssen.
Wenn Sie etwas geben
{padding: 10px;}
, müssen Sie die Breite des Elements um 20 Pixel reduzieren , um die Passform zu erhalten und andere Elemente in der Umgebung nicht zu stören.Daher beginne ich im Allgemeinen mit Polstern, um alles zu erhalten
packed
, und verwende dann Ränder für kleinere Änderungen.Beachten Sie auch, dass die Auffüllungen in verschiedenen Browsern konsistenter sind und der IE negative Ränder nicht sehr gut behandelt.
quelle
Der Rand löscht einen Bereich um ein Element (außerhalb des Rahmens), aber der Abstand löscht einen Bereich um den Inhalt (innerhalb des Rahmens) eines Elements.
Dies bedeutet, dass Ihr Element die äußeren Ränder nicht kennt. Wenn Sie also dynamische Websteuerelemente entwickeln, empfehle ich, wenn möglich Padding vs margin zu verwenden.
Beachten Sie, dass Sie manchmal den Rand verwenden müssen.
quelle
Es ist gut, die Unterschiede zwischen
margin
und zu kennenpadding
. Hier sind einige Unterschiede:Der Rand ist der Außenraum eines Elements, während der Abstand der Innenraum eines Elements ist.
Der Rand ist der Raum außerhalb des Randes eines Elements, während der Abstand der Raum innerhalb des Randes eines Elements ist.
Margin akzeptiert den Wert von auto :
margin: auto
, Sie können die Auffüllung jedoch nicht auf auto setzen.Der Rand kann auf eine beliebige Zahl eingestellt werden, die Auffüllung darf jedoch nicht negativ sein.
Wenn Sie ein Element formatieren, wird auch das Auffüllen beeinflusst (z. B. Hintergrundfarbe), jedoch nicht der Rand.
quelle
Eine Sache, die Sie beachten sollten, ist, wenn Sie automatisch reduzierte Ränder stören (und Sie keine Hintergrundfarben für Ihre Elemente verwenden), was das Auffüllen nur einfacher macht.
quelle
Advanced Margin versus Padding erklärt
Es ist unangemessen,
padding
Inhalte in einem Element zu platzieren. Sie müssen verwendenmargin
auf das Kind - Element statt. Ältere Browser wie Internet Explorer haben das Box-Modell falsch interpretiert, außer wenn es um die Verwendung ging,margin
die in Internet Explorer 4 perfekt funktioniert .Es gibt zwei Ausnahmen bei der Verwendung
padding
ist geeignet Verwendung:Es ist ein Inline - Element angelegt , die nicht , können keine Kind - Elemente , wie beispielsweise ein Eingangselement enthalten.
Wenn Sie einen sehr verschieden Browser Fehler kompensieren , die ein Anbieter * hust * Mozilla * hust * weigert sich sicher zu fixieren und sind (in dem Maße , dass Sie einen regelmäßigen Austausch mit W3C und WHATWG Redakteure halten) , dass Sie müssen eine funktionierende Lösung und diese Lösung haben wirkt sich nicht auf das Styling von etwas anderem als dem Fehler aus, den Sie kompensieren.
Wenn Sie ein Element mit 100% Breite haben, erhalten
padding: 50px;
Sie effektivwidth: calc(100% + 100px);
. Damargin
es nicht zum Element hinzugefügtwidth
wird, verursacht es keine unerwarteten Layoutprobleme, wenn Siemargin
onchild elements
anstelle vonpadding
direkt auf dem Element verwenden.Wenn Sie also eines dieser beiden Dinge nicht tun , fügen Sie dem Element keine Auffüllung hinzu, sondern den direkten untergeordneten Elementen, um sicherzustellen, dass Sie in allen Browsern das erwartete Verhalten erhalten .
quelle
Schauen wir uns zunächst die Unterschiede und die jeweiligen Verantwortlichkeiten an:
Ränder sind also einfach Leerzeichen um Elemente, während Auffüllen Leerzeichen um Inhalte sind, die Teil des Elements sind.
Dieses Bild von Codemancern zeigt, wie Rand und Rahmen zusammenwachsen und wie sich Rahmen und Inhaltsfeld unterscheiden.
Außerdem definieren sie jeden Abschnitt wie folgt:
quelle
Ich benutze immer dieses Prinzip:
Dies ist das Box-Modell aus der Inspect-Element-Funktion in Firefox. Es funktioniert wie eine Zwiebel:
Größere Ränder schaffen also mehr Platz um die Box, die Ihren Inhalt enthält.
Eine größere Polsterung vergrößert den Abstand zwischen Ihrem Inhalt und der Box, in der er sich befindet.
Keiner von beiden vergrößert oder verkleinert die Box, wenn sie auf einen bestimmten Wert eingestellt ist.
quelle
Spanne
Der Rand wird normalerweise verwendet, um einen Raum zwischen dem Element selbst und seiner Umgebung zu schaffen.
Zum Beispiel verwende ich es, wenn ich eine Navigationsleiste baue, damit sie an den Rändern des Bildschirms haftet und keine weiße Lücke aufweist.
Polsterung
Ich verwende es normalerweise, wenn ich ein Element innerhalb eines Rahmens
<div>
oder ähnlichem habe und seine Größe verringern möchte, aber zu der Zeit möchte ich den Abstand oder den Rand zwischen den anderen Elementen um ihn herum beibehalten.So kurz, es ist situativ; es hängt davon ab, was Sie versuchen zu tun.
quelle
Der Rand befindet sich außerhalb der Box und die Polsterung befindet sich innerhalb der Box
quelle