Es gibt einen feinen Unterschied.
Betrachten Sie das folgende Beispiel:
%Vor%Und sehen Sie die Ergebnisse an: Ссылка
In Beispiel 1 ( .ex1
) beträgt der Abstand 50 Pixel vom linken Rand des übergeordneten Containers ( .wrap
).
In Beispiel 2 ( .ex2
) ist das Element 50px vom linken Rand des Ansichtsports entfernt.
Damit .ex2
sich ähnlich verhält wie .ex1
, müssen Sie position: relative
setzen
zu .wrap
, so dass beide Divs in Bezug auf denselben Kontext positioniert sind.
Es gibt noch einen weiteren Faktor. In Beispiel 1 habe ich keine Offsets angegeben, daher bleibt das Element in der Position, wenn Sie position: static
verwendet hätten, weshalb der Rand in Bezug auf die linke Kante des Wrappers berechnet wird.
Wenn ich left: 0
eingestellt hätte (siehe Beispiel 3), hätten Sie ein ähnliches Ergebnis wie in Beispiel 2 erhalten.
Obwohl sie ähnliche Dinge tun können, sind sie ganz anders.
Marge ist Teil des Box-Modells , das auch% enthält. co_de% und padding
. Boxmodellstile ändern die Größe des Objekts selbst.
Wenn Sie beispielsweise ein Bild mit dem folgenden Stil haben:
%Vor% Die Elemente mit der Klasse border
würden 10 Pixel Rand auf der linken Seite der Box hinzugefügt.
Oben, links usw.
Dies sind my_box
, die anstelle der Größe des Boxmodells der Elemente wörtlich Teilen Sie den Elementen mit, wo sie sein sollen .
Der obige Stil würde dieses Element als 10 Pixel links von seinem Container angeben (wenn positions
oder die Seite (wenn position:relative
).
Ja, es gibt Unterschiede.
Siehe Geige: Ссылка
Achtung auf 10px padding
in "parent" -Elementen auf absolut positioniertes Element. Polsterungen und Ränder beeinflussen die Marge in absolut positionierten Div.
Links zählt vom Anfang des "Eltern" -Elements.
Code:
%Vor%Css:
%Vor%