WEB2.0標準教程:第十天 自適應高度
系統
1604 0
如果我們想在3列布局的最后加一行頁腳,放版權之類的信息。就遇到必須對齊3列底部的問題。在table布局中,我們用大表格嵌套小表格的方法,可以很方便對齊三列;而用div布局,三列獨立分散,內容高低不同,就很難對齊。其實我們完全可以嵌套div,把三列放進一個DIV中,就做到了底部對齊。下面是實現例子(白色背景框模擬一個頁面):
程序代碼
<html>
<head>
<styletype="text/css">
#body,div{FONT-SIZE:12px;}
#pagebox{
margin:0px;
PADDING:20px;
BACKGROUND:#FFF;
FONT-FAMILY:arial,'宋體','新宋體',verdana,sans-serif;
WIDTH:600px;
}
#header{
MARGIN:0px;
BORDER:0px;
BACKGROUND:#ccd2de;
WIDTH:580px;
HEIGHT:60px;}
#mainbox{
MARGIN:0px;
WIDTH:580px;
BACKGROUND:#FFF;
}
#menu{
FLOAT:right;
MARGIN:2px0px2px0px;
PADDING:0px0px0px0px;
WIDTH:400px;
BACKGROUND:#ccd2de;
}
#content{
FLOAT:right;
MARGIN:1px0px2px0px;
PADDING:0px;
WIDTH:400px;
BACKGROUND:#E0EFDE;}
#sidebar{
FLOAT:left;
MARGIN:2px2px0px0px;
PADDING:0px;
BACKGROUND:#F2F3F7;
WIDTH:170px;
}
#footer{
CLEAR:both;
MARGIN:0px0px0px0px;
PADDING:5px0px5px0px;
BACKGROUND:#ccd2de;
HEIGHT:40px;
WIDTH:580px;
}
</style>
</head>
<body>
<divid="header">這里是#header{
MARGIN:0px;
BORDER:0px;
BACKGROUND:#ccd2de;
WIDTH:580px;
HEIGHT:60px;}</div>
<divid="mainbox">
這里是#mainbox{
MARGIN:0px;
WIDTH:580px;
BACKGROUND:#FFF;
}包含了#menu,#sidebar和#content
<divid="menu">這里是#menu{
FLOAT:right;
MARGIN:2px0px2px0px;
PADDING:0px0px0px0px;
WIDTH:400px;
BACKGROUND:#ccd2de;
}</div>
<divid="sidebar"><p>這里是#sidebar{
FLOAT:left;
MARGIN:2px2px0px0px;
PADDING:0px;
BACKGROUND:#F2F3F7;
WIDTH:170px;
},背景顏色用的是#main的背景色</p></div>
<divid="content"><p>這里是#content{
FLOAT:right;
MARGIN:1px0px2px0px;
PADDING:0px;
WIDTH:400px;
BACKGROUND:#E0EFDE;}</p>
<p>這里是主要內容,根據內容自動適應高度</p><p>這里是主要內容,根據內容自動適應高度</p>
<p>這里是主要內容,根據內容自動適應高度</p>
</div>
</div>
<divid="footer">這里是#footer{
CLEAR:both;
MARGIN:0px0px0px0px;
PADDING:5px0px5px0px;
BACKGROUND:#ccd2de;
HEIGHT:40px;
WIDTH:580px;
}。</div>
</div>
</body>
</html>
HTML代碼
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
這個例子的頁面主要代碼如下:
程序代碼
<divid="header"></div>
<divid="mainbox">
<divid="menu"></div>
<divid="sidebar"></div>
<divid="content"></div>
</div>
<divid="footer"></div>
具體樣式表都寫在相應版塊里了。重點在于#mainbox層嵌套了#menu,#sidebar和#content三個層。當#content的內容增加,#content的高度就會增高,同時#mainbox的高度也會撐開,#footer層就自動下移。這樣就實現了高度的自適應。
另外值得注意的是:#menu和#content都是浮動在頁面右面"FLOAT:right;",#sidebar是浮動在#menu層的左面"FLOAT:left;",這是浮動法定位,還可以采用絕對定位來實現這樣的效果。
這個方法存在另一個問題,就是側列#sidebar的背景無法百分之百。一般的解決辦法就是用body的背景色來填充滿。(不能使用#mainbox的背景色,因為在Mozilla等瀏覽器中#mainbox的背景色失效。)
好了,主要的框架已經搭建完畢,剩下的工作只是往里面添磚加瓦。
WEB2.0標準教程:第十天 自適應高度
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元