2013-01-14 4 views
27

Sagen wir, ich habe zwei Divs, eine in der anderen, etwa so:Gibt es eine Möglichkeit für "Position: absolute" Div die relative Breite zu behalten?

<html> 
<body> 
<div id="outer" style="width:50%"> 
<div id="inner" style="width:100%"> 
</div> 
</div> 
</body> 
</html> 

Gerade jetzt hat die innere div eine Breite von 100% von 50% der Bildschirmgröße oder 50% des Bildschirms Größe. Wenn ich die innere div ändern waren absolut zu positionieren, wie folgt aus:

<html> 
<body> 
<div id="outer" style="width:50%"> 
<div id="inner" style="position:absolute;width:100%"> 
</div> 
</div> 
</body> 
</html> 

In diesem Fall wird die innere div 100% des Bildschirms Platz in Anspruch nimmt, weil seine Position auf absolute gesetzt.

Meine Frage ist: Gibt es eine Möglichkeit, die relative Breite des inneren Div zu erhalten, während seine Position auf absolut eingestellt ist?

Antwort

54

Fügen Sie Position: relativ zu Ihrem äußeren Div.

Update: Es funktioniert, weil Positionen in position: absolute relativ zu dem ersten Elternteil sind, das einige Positionierung (außer statisch) hat. In diesem Fall gab es keinen solchen Container, daher wird die Seite verwendet.

+2

Danke für die Hilfe! Das nervte mich für ungefähr eine Stunde. Ich bin froh, dass die Lösung so einfach ist :) – Charles

+2

OHHH AHHH !!! Ich habe die letzten 5 Stunden damit verbracht, diese verdammte Seite zu reparieren, an der ich gearbeitet habe. Vielen Dank dafür. Kannst du erklären, warum das funktioniert? – Lebowski156

+1

ok, das ist Trolling, aber für eine Zeit hat CSS eine einfache Lösung für ein einfaches Problem! Vielen Dank! – mmuller

6

Ja. Stellen Sie die äußere Position auf relative Position ein.

http://jsfiddle.net/57673/

.outer 
{ 
    width: 50%; 
    height: 200px; 
    position: relative; 
    border: 1px solid red; 
} 

.inner 
{ 
    width: 100%; 
    position: absolute; 
    height: 100%; 
    border: 1px solid blue; 
} 
+0

Danke, die gleiche Antwort wie Bror! Habe es sofort funktioniert :) – Charles

Verwandte Themen