2011-06-23 66 views
1

JSFiddle如何在包含div的內部創建固定位置div?

我怎樣才能讓'樹'被定位在第二行的頂部?

我已閱讀了一些資料,有人聲稱固定位置是相對於其外部容器定位的,其他相對於瀏覽器窗口定位。在位置:絕對,我讀過它是相對於瀏覽器窗口,但w3schools聲稱它是相對於第一個定位元素。所有這些讓我的頭腦有點模糊,儘管玩弄了兩個屬性,但我還是無法真正理解這一點。

+3

我真的會盡量避免使用表格您的佈局。你真的要努力獲得你想要的定位效果,而不使用div和CSS來佈局 – Alex

+0

對於任何試圖回答這個問題的人:在Firefox中檢查你的答案。 – thirtydot

+0

@亞歷克斯:感謝您的評論,我想你是對的,但爲了學習的緣故,我想在這一段時間內努力。 @thirtydot:小心填寫我的評論意味着什麼? –

回答

4

位置:固定總是指瀏覽器窗口。滾動瀏覽器窗口時,固定的定位元素不會改變它的位置。

如果你想要一個相對定位的元素在另一個元素中,你必須給容器(父)元素一個position:relative;,其中的元素一個position:absolute;。這樣,絕對定位的元素座標將基於父元素(相對定位)。

此外,當試圖對佈局使用絕對定位和相對定位時,最好不要使用表格。

更新

絕對定位的元素將通過DOM樹搜索,查找定位,以及最近的祖先。如果它找不到,它將相對於瀏覽器窗口定位。 - 尤斯圖斯·羅梅恩

更新2

只是給position:relative;含有絕對定位的元素的TD,這樣 http://jsfiddle.net/E2gYN/5/

+2

絕對定位的元素將搜索DOM樹,尋找最近的祖先。如果它找不到,它將相對於瀏覽器窗口定位。 –

+0

謝謝Jose和Justus的詳細解釋。我用一個可用的JSFiddle更新了我的問題。 –

+0

我用一個工作示例更新我的答案,向您展示我的絕對定位元素在相對定位元素中的含義。希望它能幫助你學習。 –