下面是CSS代碼:
body {
margin: 0px;
padding: 0px;
}
div#header {
clear: both;
height: 50px;
background-color: aqua;
padding: 1px;
}
div#left {
float: left;
width: 150px;
background-color: red;
}
div#right {
float: right;
width: 150px;
background-color: green;
}
div#middle {
padding: 0px 160px 0px 160px;
margin: 0px;
background-color: silver;
}
div#footer {
clear: both;
background-color: yellow;
}
下面是XHTML代碼:
<body>
<div id="header">
<h1>Header</h1>
</div>
<div id="left">
Port side text...
</div>
<div id="right">
Starboard side text...
</div>
<div id="middle">
Middle column text...
</div>
<div id="footer">
Footer text...
</div>
</body>
代碼說明
HTML代碼中各部分出現的順序是非常重要的。左欄和右欄div必須在中欄之前出現。這樣才可以讓這兩個側邊欄浮動到它們的位置上(螢幕兩側),並讓中欄的內容將“流”入它們之間的空間。如果瀏覽器在一個或者兩個側邊欄div之前先發現中欄,那麼中欄將佔據螢幕的一側或者兩側,這樣浮動的部分就會跑到中欄的下面而不是中欄的旁邊了。
div#header和div#footer樣式(style)中的clear:both申明用來確保這浮動部分不會佔據標題和頁尾的空間。div#header樣式中的padding:1px申明用來消除頁頭背景色中的異常邊,如果padding設定為零,那麼在Netscape瀏覽器中就會看到這個異常。
div#left樣式中的float:left申明是用來把左欄擠壓到左側。width:150px申明用來設定欄的固定寬度,不過你也可以把它的寬度設定為其它具體值。類似的,div#right樣式中的float:right申明用來把右欄div擠壓到右側。在本例中,float把左欄和右欄完全擠壓到瀏覽器視窗的左邊緣和右邊緣。然而,如果這些div被其它div包含,那麼float將會把它們擠壓到包含它們的div的邊緣。
在div#middle樣式中,clear申明允許中欄的內容“流淌”在兩個側邊欄之間。padding:0px 160px 0px 160px申明設定了到左欄和右欄的填充,這樣允許150象素寬度的欄div,在加上10象素的間距。
這個例子非常粗糙和簡單,但是它很好的示範了用浮動div來建立三欄液態布局的側邊欄這一基本技術。