據我所知,絕對定位是相對於一個包含塊,它提供了一個定位上下文,默認情況下它是文檔。因此,默認情況下,應該針對html文檔的邊緣而不是相對於視口邊緣(瀏覽器窗口)來指定絕對定位?
例如,假設html文件具有的2000像素寬度的元件E,那麼這個文檔的寬度大約是2000像素,因此以下代碼:
#abs
{
position: absolute;
top: 128px;
right: 0px;
width: 100px;
}
應該放置的元件#abs在文檔的最右側(文檔的最右邊和最左邊之間的距離大約爲2000px)。相反,#abs放置在視口的右側。我錯過了什麼?
感謝名單
呃,這完全令人困惑 - 我認爲「視口是最上面的元素」,你的意思是說,視口包含頁面中的所有其他元素,包括元素#abs?但是,如果是這種情況,那麼視口也包含#wide元素(寬度爲2000px)。如果視口也包含#wide元素,那麼視口的寬度至少爲2000px,因此視口的最右側應該是離視口最左側2000px ?! – carewithl 2009-12-22 19:35:47
另外,您暗示瀏覽窗口只是瀏覽器在水平欄滾動到文檔最左側時顯示的窗口,而據我所知,視口是當前由瀏覽器顯示的文檔的任何部分,即使是當水平滾動條滾動到該文檔的最右側時,瀏覽器顯示的文檔的一部分(假設文檔非常寬)? – carewithl 2009-12-22 19:39:40
視口並不意味着你的想法。視口是瀏覽器的可見部分。如果拖動瀏覽器的寬度爲900px,則視口爲900px。視口不會根據內部內容進行更改。 視窗不是頁面上的實際元素,不像
。如果包含2000像素寬的元素,但不包含視口,則的確爲2000像素。視口與您製作瀏覽器窗口的大小完全相同。 – idrumgood 2009-12-23 16:27:11