用CSS製作三欄液態布局

來源:互聯網
上載者:User

下面是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來建立三欄液態布局的側邊欄這一基本技術。

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.