2011-12-01 35 views
0

只要需要闡明:W3Schools的部分地限定所述CSS「頂部」屬性(未與容限或填充頂)所以:使用TOP屬性和位置是:絕對

對於絕對定位元素,top屬性設置元件的頂部邊緣 與其包含 元件的頂部邊緣之上/之下的單元相關聯。

注意:這僅適用於「position:absolute」。

我由部分「包含的元素的頂部邊緣」混淆,因爲如果我有以下結構(使用由W3Schools的提供的「頂部」屬性的示例編輯):

<html> 
<head> 
<style type="text/css"> 
img 
{ 
position:absolute; 
top:0px; 
} 
.main { padding: 5px; border: 1px solid #000; } 
.col { position: absolute; overflow: hidden; top: 0px; } 
.container { padding: 10px; border: 1px solid #000; } 
.container2 { padding: 10px; border: 1px solid #000; } 
</style> 
</head> 

<body> 
<div class="main"> 
<div class="container"> 
<div class="test"> 
<p>Test</p> 
</div> 
</div> 
<div class="container2"> 
<div class="col"> 
<img src="logocss.gif" width="95" height="84" /> 
<h1>This is a heading</h1> 
</div> 
</div> 
</body> 
</html> 

如果它的「包含元素的上邊緣」爲什麼圖像位於覆蓋「測試」文本的屏幕頂部?我故意在「main」下嵌套了兩個包含元素,並且在我看來,包含元素是「container2」。

如果我取出「col」CSS,圖像仍然在屏幕的頂部,但文本不在。

困惑。 :/

+0

父元素必須有'位置:relative' – mreq

回答

2

你需要給.container2的位置,試試這個:

.container2 {填充:10px的; border:1px solid#000;位置:相對; }

+0

感謝您的快速答覆!在「10分鐘」時間結束後立即標記:)。 –

+1

容器必須將其「位置」屬性設置爲「相對」,「絕對」或「固定」。如果你想讓它與頁面的其餘部分一起流動,「相對」將是正確的。 –

+0

每個人都有正確的答案,但@Jlegale是第一個。 :) 謝謝您的反饋。 –

1

我對英語不好,所以請原諒我,如果我現在造成更多的困惑,但position:absolute將相對於下一個相對元素絕對元素的位置。在你的情況下,你沒有任何具有屬性position:relative的元素,因此它將自己定位爲與整個網站相關的絕對(html)。

你需要在你的情況做的是給.container2一個position:relative

1

您必須正確地爲父元素position

你錯過了在.container2 DIV

position: relative這裏有一個working jsfiddle