2012-09-25 169 views

回答

1

做到這一點,您可以使用JavaScript/jQuery的

var topDivHeight = $("#topdiv").height(), 
totalHeight = $(document).height(); 
$('#bottomDiv').height(totalHeight - topDivHeight); 
+0

這工作正常。謝謝 –

+0

在窗口大小調整事件中使用它時遇到問題。 然後我的文檔將其高度增加到最後:P –

+0

您應該再次使用此代碼重置底部高度; – Anoop

1

您可以通過

position:absolute; 
height:100% !important; 
+0

如果我是追加到我的底部DIV不工作。然後它不全高 –

+1

PLZ提供小提琴 –

+0

@KarstenDetmold檢查編輯的答案 –

1

是不是真的有純CSS這樣做的很好的,跨瀏覽器的方式。你最好的選擇是使用jQuery/javascript來調整div的高度來填充屏幕。假設你的頂部div的高度爲200px:

$("#bottom_div").css({ 
    minHeight: (($(window).height()) - 200) + 'px' 
}) 

你也需要在調整屏幕大小時調用它。

1

改編自:div with dynamic min-height based on browser window height並且不依賴於javascript。

HTML:

<div id="header"> 
    Place your header information here. 
</div> 
<div id="content"> 
    Place your content here. 
</div> 

CSS:

* { 
    margin: 0; 
} 
html, body { 
    height: 100%; 
} 
#content { 
    min-height: 100%; 
    height: auto !important /*min-height hack*/ 
    height: 100%;   /*min-height hack*/ 
    background-color: red; 
}​ 

的jsfiddle測試:http://jsfiddle.net/7SP9U/

+1

啊,但這擴大了容器的高度 - 無論以前的元素的高度,將被添加作爲底部的可滾動差異。 – Barney

+0

啊,這是真的!我的錯。感謝指出那巴尼! –

1

爲此,您可以使用顯示:表屬性這一點,但它的工作,直到上述IE8 & 。像這樣寫:

<div class="container"> 
    <div class="header">header</div> 
    <div class="content">content</div> 
</div> 

CSS

.container{ 
    display:table; 
    height:800px; 
    width:100%; 
} 
.container > div{ 
    display:table-row; 
} 
.header{background:red; height:10%;} 

.content{background:blue} 

入住這http://jsfiddle.net/Rvbk4/2/

0

這裏有一個唯一的CSS的解決方案,將僅在IE8的工作,由於使用的display: table

容器必須採取全高度,絕對定位並採取display: table。它的孩子需要display: table-row(如果你想要在這個級別以下的任何體面的樣式,你應該真的用display: table-cell包裝進一步包裝的內容,但我省略了這一點,以示例清楚)。

默認情況下,行將佔用父級的相等分數高度,但您可以通過設置height: 0(或任何其他高度)使它們縮小以適合其內容。

希望這有助於:

http://jsfiddle.net/barney/nXWbL/