2013-01-14 110 views
27

比方說,我有兩個div,一個在另一個裏面,像這樣:有沒有什麼辦法可以讓「position:absolute」div保留相對寬度?

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

眼下,內div有屏幕尺寸的%50 100%,或者屏幕的50%的寬度尺寸。如果我要改變內div來放置絕對的,就像這樣:

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

在這種情況下,內部格佔用屏幕空間的100%,因爲它的位置被設置爲絕對的。

我的問題是這樣的:有沒有辦法保持內部div的相對寬度,而其位置設置爲絕對?

回答

54

位置:相對到你的外部div。

更新:它的工作原理是因爲position: absolute中的位置相對於具有某種定位(非靜態)的第一個父代。在這種情況下,沒有這樣的容器,所以它使用該頁面。

+2

感謝您的幫助!這讓我煩了大約一個小時。我很高興解決方案非常簡單:) – Charles

+2

OHHH AHHH !!!我花了最後5個小時試圖修復這個我一直在努力的該死的網站。非常感謝你做的這些。你能解釋爲什麼這個工作嗎? – Lebowski156

+1

好的,這是拖動,但有一次,CSS有一個簡單的問題的簡單解決方案!謝謝! – mmuller

6

是的。設置外部位置:相對。

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

謝謝,和Bror一樣的答案!馬上工作:) – Charles

相關問題