如果我們想在3列版面的最後加上一行頁腳,放版權之類的資訊。就遇到必須對齊3列底部的問題。在table佈局中,我們用大表格嵌套小表格的方法,可以很方便對齊三列;而用div佈局,三列獨立分散,內容高低不同,就很難對齊。其實我們完全可以嵌套div,把三列放進一個DIV中,就做到了底部對齊。以下是實作範例(白色背景框模擬一個頁面):
Body
這個例子的頁面主要程式碼如下:
<div id="header"></div>
<div id="mainbox">
<div id="menu"></div>
<div id="sidebar"></div>
<div id="content"></div>
</div>
<div id="footer"></div>
具體樣式表都寫在對應版塊裡了。重點在於#mainbox層嵌套了#menu,#sidebar和#content三個層。當#content的內容增加,#content的高度就會增加,同時#mainbox的高度也會撐開,#footer層就會自動下移。這樣就實現了高度的自適應。
另外值得注意的是:#menu和#content都是浮動在頁面右面"FLOAT: right;",#sidebar是浮動在#menu層的左面"FLOAT: left;",這是浮動法定位,還可以採用絕對定位來實現這樣的效果。
這個方法有另一個問題,就是側列#sidebar的背景無法百分之百。一般的解決方法就是用body的背景色來填滿滿。 (不能使用#mainbox的背景色,因為在Mozilla等瀏覽器中#mainbox的背景色失效。)
好了,主要的框架已經搭建完畢,剩下的工作只是往裡面添磚加瓦。如果你希望嘗試其他佈局,推薦看看以下文章:
CSS佈局16例
onestab:三欄複合佈局演示
onestab:自由伸展的三欄式版面