2013-10-01 107 views
0

我記得很久以前在某個地方閱讀某個元素時絕對沒有給出任何元素toprightbottomleft屬性將(作爲任何定位元素)將其從流中取出,但將其保留在相同的包含塊(靜態定位時它應該處於的那個塊)內。包含一個沒有「頂部」,「右側」,「底部」或「左側」的絕對定位元素的塊

在下面的示例(jsFiddle)中,元素#2和#3是絕對定位的,但#2沒有任何其他屬性。

enter image description here

我一直在尋找的文件,說明這種行爲,這樣我可以繼續使用這個不用擔心可能的反斜槓,但一直沒幸運的Gooogle企業左右。有人能指出我正確的方向嗎?

+0

這可能有助於:http://www.barelyfitz.com/screencast/html-training/css/positioning/ –

+0

它沒有,他們只是在談論「基本」定位技術 – user1728278

+0

你還沒有用過您的代碼中的任何位置的絕對位置:/ –

回答

2

對於絕對定位的元素,偏移的默認值(topleft等)爲auto

在這種情況下,即使將內容從文檔流中取出,該元素仍然保留在原有的位置position: static

引用到 '靜止位置' 的概念包括:

http://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width

http://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-height

http://www.w3.org/TR/CSS2/visuren.html#position-props

引述:

10.3.7絕對定位,非替換元素

爲了本部分和下一部分的目的,術語「靜態位置」(元素)大致指的是元素在正常流動中所具有的位置。更精確地說:

靜態位置包含塊是假設框的包含塊,如果其指定的'位置'值爲'靜態'且其指定的'浮動'具有元素的第一個框是'沒有'。

2

它不會將它保留在包含塊中,因爲一旦它絕對定位,它總是在文檔流之外。它的功能(沒有設置頂部/底部/左/右)將它保持在默認的位置,如果它仍然是靜態的。

要強制它位於父容器中,請根據需要將父級設置爲position:relative和top/bottom/left/right。

+0

我會接受@ Marc的回答,因爲它鏈接到doc,但是感謝您的額外幫助。 同意它不在流程中,但是因爲它處於相同的位置,所以如果它是靜態的,它會在相同的包含塊內視覺化,並且總是會是。 (或者你能想到它不會這樣的情況嗎?) – user1728278

+0

請注意,如果父容器具有'position:{relative |絕對|固定}',那麼任何絕對定位的子元素將相對於父塊定位。 –

+0

@MarcAudet是! – user1728278

相關問題