回答
這給CSS添加#wrapper
:
height: 100%;
position: relative;
這部作品的原因是因爲你絕對定位的元素由於沒有任何其他containing block而相對於視口定位。通過將position: relative
添加到#wrapper
(或針對該問題的body
),請確保包含的塊代替整個主體內容。
然後只需要height: 100%
以確保包含塊至少到達視口的底部。
#footer{z-index: 1000;}
#logo{z-index: 1001;}
永遠不要他們佔用相同的空間。如果視口小於可用區域,則頁腳應低於徽標。 – 2009-08-17 22:48:27
z-index是你所需要的。雖然1000是有點過分簡單
#footer{ z-index:2; }
#logo{ z-index:3; }
會做的伎倆
要記住,這是非常有用的,不指定z-index
,元素堆疊在z順序的最新元素「最高」。所以,如果你想避免指定z-index
,扭轉HTML:
<body>
<div id="wrapper">
<div id="footer">
This is the footer. It should always appear at the bottom of the page, but not over the red box.
</div>
<div id="logo">
<h1>Logo</h1>
</div>
</div>
</body>
否則,對方的回答表明,指定爲#logo
比爲#footer
更大的數量將導致#logo
更高。
要強制滾動條時,視口窗口< 400像素,
#wrapper {
min-width: 400px;
min-height: 400px;
overflow: scroll; /* or overflow: auto */
}
如前所述,更改z-index只會使標誌顯示在頁腳上方。我不希望它們重疊。如果視口被調整大小以縮短高度,那麼兩個項目組合起來應該顯示滾動條並將頁腳堆疊在徽標下方。 – 2009-08-17 23:06:14
溢出:滾動將始終顯示滾動條,而自動將檢測滾動條是否必要(正如您可能知道的),但只是澄清。 – Tres 2009-08-17 23:07:51
Z-Index在這裏不是一個因素。 Z-Index仍然允許元素重疊 - 它只會指示哪個元素位於頂部。
使用浮子荷蘭國際集團元件在憑證流紅色DIV後,然後上的黃色用的清楚創建的元素之間的關係(即,黃色DIV將清楚紅色和不會重疊)。
夾緊相對尺寸的元件(例如,height:100%)將會將黃色div推到屏幕的底部,但是要正確垂直對齊可能會很棘手。
- 1. 絕對定位的內部div與父div的內容重疊
- 2. 位置:絕對內部位置:相對原因內容重疊
- 3. div div內絕對定位和負邊距重疊內容
- 4. 父親的絕對定位重疊內容的Chid Div
- 5. 重疊絕對定位divs
- 6. 絕對定位重疊div
- 7. 絕對定位的內容重疊頁腳
- 8. 力絕對定位的div不重疊
- 9. 位置絕對和溢出隱藏重疊內容
- 10. 絕對定位圖像 - 無重疊
- 11. Flexbox重疊絕對定位兒童
- 12. 與「位置:固定」重疊的內容
- 13. 絕對定位圖像時會導致它後面的所有內容重疊
- 14. 防止在窗口調整時重疊內容的絕對定位DIV
- 15. css絕對位置內部相對位置不重疊
- 16. 當某些動態元素需要絕對定位時,避免重疊內容
- 17. 相對定位內的絕對定位?
- 18. 如何使頁腳尊重絕對定位的內容高度?
- 19. 絕對定位的div在另一個絕對定位的div內容不是內容
- 20. 重疊段落與位置:絕對內相對框
- 21. 相對定位div重疊底部內容
- 22. 定位內絕對相對
- 23. 絕對內相對定位?
- 24. 絕對定位的div div滾動內絕對定位的父
- 25. 內容重疊
- 26. 內容/重疊
- 27. 絕對位置內的絕對位置:絕對定位父塊的寬度
- 28. 絕對位置的內聯塊在相對塊內摺疊
- 29. 絕對定位的孩子重疊父滾動條
- 30. 絕對定位div中的文本重疊
賓果,這個按預期工作。謝謝。在IE6中不起作用,但我認爲這不是一個大問題,如果可以的話,我可以添加最小高度的黑客。 – 2009-08-17 23:09:40
而實際上,你是否需要其他包裝?因爲給定所有當前的CSS,'#wrapper'是不必要的。你可以將它的所有屬性(包括上面的)移動到'body'。 – mercator 2009-08-17 23:13:35