2010-03-12 131 views
8

我有一個網站,我試圖建立和我打的駕駛我瘋了一個小障礙。從本質上講,在沒有足夠的內容頁面以填充視口,我想有最後一個div(我的頁腳)填充視口的其餘部分,但它目前被切斷。如何讓最後一個div拉伸填滿屏幕?

我的HTML看起來像這樣:

<body> 
    <div id="header"> </div> 
    <div id="subNav"> </div> 
    <div id="content"> </div> 
    <div id="footer"> </div> 
</body> 

我嘗試使用html, body, footer { height:100%; }而是創建一個比需要更多的空間,本質上的頁腳中的空白內容的全屏幕的長度。

如何讓我的頁腳正好填補了屏幕的其餘部分不添加滾動條?

由於提前, 一個失意的編碼器。

回答

8

我敢肯定這樣做的唯一途徑是通過計算絕對剩餘HIGHT。

即,使用jQuery

$('#footer').height(($(window).height() - $('#header').height() - $('#subNav').height() - $('#content').height()) + "px"); 

你會想這樣做對窗口大小調整爲允許動態調整窗口。

$(window).resize(function(){...}); 
+0

是的,如果沒有javascript,不能很好地完成。 – gingerbreadboy 2010-03-12 19:59:28

+0

會使用#content相對於文檔的頂部位置,然後計算與文檔高度的差異的方法會更清潔一點嗎? – 2013-04-05 22:55:14

0

如果你不想去jQuery的路線,窮人的版本中,這是給予#內容一個最小高度,這將使它在大多數顯示器的工作,和/或通過給你的頁腳充足在底部填充。它可能會在某些情況下觸發滾動條,因爲您只是控制了頁面的縮短程度。

(或者你可以接受它作爲介質的限制。堆棧溢出,例如,只是有其頁腳漂浮在空白頁面是否太短。)

8

我知道這是遲到10個月所以你可能已經想出了一些東西。但這是我使用的一種解決方案。

(對不起,出於某種原因,我無法讓代碼正常工作以顯示代碼。)基本上在除了頁腳之外的所有其他div上包裝一個名爲「容器」的div,或類似的東西。頁腳div將與容器內的所有其他頁面一起位於容器div下方。

將你的身體風格的背景顏色設置爲你想要填充的底部。那麼容器div的背景顏色就是你的身體背景顏色。因此,所有到頁腳的內容都將成爲您想要的背景顏色,然後用身體背景顏色填充頁面的其餘部分。