Unterschied zwischen margin-left und left, wenn die Position absolut gesetzt ist

8

1.position:absolute;left:200px;

2.position:absolute;margin-left:200px;

Gibt es Unterschiede zum obigen Stil?

    
damon 12.09.2013, 16:44
quelle

3 Antworten

5

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.

    
Marc Audet 12.09.2013, 17:00
quelle
3

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 .

%Vor%

Der obige Stil würde dieses Element als 10 Pixel links von seinem Container angeben (wenn positions oder die Seite (wenn position:relative ).

    
Jason 12.09.2013 16:58
quelle
1

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%     
Andre Figueiredo 12.09.2013 16:59
quelle

Tags und Links