正像你所知道的那樣,設置DIV大小的有兩個屬性width和height,以前在學習DIV每次給DIV設置100%寬度或高度時都很迷惑,不明確這個100%的寬度(高度)到底有多寬有多高?這個100%是從哪里得到的從哪里繼承的?今天我們的話題就是有關(guān)div高度100%的問題!
其實,要弄懂div寬度|width100%、div高度|height100%到底是怎么實現(xiàn)的,只需弄懂一個簡單的問題就可以了,即100%的基數(shù)是誰,就是這個100%是相對于誰的width、height來說是100%?
div的100%是從其上一級div的寬高繼承來的,有一點很關(guān)鍵,就是要設置div100%顯示,必須設置其上一級div的寬度或高度,否則無效。舉例說明:父div(deman)寬300高200,子div(cc)如果在這個條件下設置divcc的寬高都為100%的話,那cc的確切大小就是父div的大小(寬300高200),在嘗試中你會發(fā)現(xiàn),div顯示會受自身和其上一級div的padding和margin影響,而其實際寬高不受影響。值得玩味噢!
你設div的高度為100%,那么它是和什么地方相對為100%?
前面總得有個容器說明他的高度是多少。這樣的話div才能按比例100%繼承上一級的高度??上У氖菫g覽器一般默認解釋為內(nèi)容的高度,而不是100%。但是只要為html和body設置高度為100%就可以了:html,body{height:100%;},這樣之后div會按比例來繼承上一級的高度了,僅僅設置的DIV元素的height屬性貌似沒有什么效果。
同時,讓人高興的是,這樣設置的css樣式不存在瀏覽器兼容問題,在IE5.5、IE6、IE7、IE8還有火狐均可正常顯示。
那么,如下的樣式可以設置Div撐滿整個頁面:
<style type="text/css">
html
{
height:100%;
margin:0;
}
body
{
height:100%;
margin:0;
}
</style>
<div style="width:100%; height:100%; background-color:#666; z-index:1">
</div>
有一點需要注意的是,Html級元素默認寬度是100%,即整行;但是高度并不是100%,而僅僅是一行而已。
所以要想實現(xiàn)撐滿整個頁面,必須顯式地設置高度為100%!
留言反饋