Absolute position nicht funktioniert
Ich versuche, platzieren Sie ein div mit der id 'absPos' in die absolute position in Bezug zu der Ihr übergeordneten div. Aber es funktioniert nicht, das div-Element platziert in der linken oberen Ecke der Seite.
Mein code-Beispiel ist wie folgt
<html>
<body>
<div style="padding-left: 50px;">
<div style="height: 100px">
Some contents
<div>
<div style="height: 80px; padding-left: 20px;">
<div id="absPos" style="padding: 10px; position: absolute; left: 0px; top: 0px; background-color: red;"></div>
Some text
</div>
</div>
</body>
</html>
Können Sie mir helfen, dieses Problem zu lösen.
In meinem konkreten Fall anstelle des roten hintergrund-Farbe, die ich habe, um ein Hintergrundbild.
Hinsichtlich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Elemente mit absoluter Positionierung positioniert sind, von Ihren
offsetParent
, der nächste Vorfahr ist auch positioniert. In Ihrem code, keiner der Vorfahren "positioniert" - Elemente, also das div-Element offset von Körper-element, das ist dieoffsetParent
.Die Lösung ist, gelten
position:relative
zu dem übergeordneten div, die Kräfte, die ihn zu einer positioniertes element und das Kind, dasoffsetParent
.Wenn Sie Sie ein element mit absoluter position, müssen Sie das base-element um eine position anderen Wert als den Standardwert.
In Ihrem Fall, wenn Sie die position ändern Wert des übergeordneten div 'relativ' Sie können das Problem beheben.
Müssen Sie erklären das übergeordnete div-entweder
position: relative
oderposition: absolute
selbst.relative
ist, was Sie suchen in diesem Fall.Müssen Sie zu geben, übergeordneten div
relative
position erste:Können Sie auch Anwenden, Position:absolute, um das Parent-Div. Insgesamt Code unten
Wenn Sie, wie ich, versuchten zu positionieren ein element über ein anderes element, das schwebende element muss innerhalb des anderen, nicht als Geschwister. Jetzt ist Ihre
position:absolute;
arbeiten können!