用CSS的float和clear創(chuàng)建三欄液態(tài)布局的方法

2024-02-29    分類: 網(wǎng)站建設

三欄布局是目前最常見的網(wǎng)頁布局,主要頁內(nèi)容放在中間一欄,邊上的兩欄放置導航鏈接之類的內(nèi)容?;静季忠话闶菢祟}之下放置三欄,三欄占據(jù)整個頁面的寬度,最后在頁的底端放置頁腳,頁腳也占據(jù)整個頁面寬度。

絕大多數(shù)網(wǎng)頁設計者都熟悉傳統(tǒng)的網(wǎng)頁設計技術,用這些技術可以生成帶有表格、創(chuàng)建固定寬度布局或者“液態(tài)”(它可以根據(jù)用戶瀏覽器窗口寬度自動伸縮)布局的網(wǎng)頁。

現(xiàn)在,我們都開始拋棄基于表格的布局技術,許多網(wǎng)絡設計者正在從XHTML標記和CSS格式這一新范例中尋找創(chuàng)建三欄布局的方法。用絕對定位的方法從CSS中得到固定寬度的布局并不困難;但是得到液態(tài)布局就有點困難了。因此,本文介紹一種用CSS的float和clear屬性來獲得三欄液態(tài)布局的方法。

基本方法

基本的布局包含五個div,即標題、頁腳和三欄。標題和頁腳占據(jù)整個頁寬。左欄div和右欄div都是固定寬度的,并且用float屬性來把它們擠壓到瀏覽器窗口的左側(cè)和右側(cè)。中欄實際上占據(jù)了整個頁寬,中欄的內(nèi)容在左、右兩欄之間“流淌”。由于中欄div的寬度并不固定,因此它可以根據(jù)瀏覽器窗口的改變進行必要的伸縮。中欄div的左側(cè)和右側(cè)的填充(padding)屬性保證內(nèi)容安排在一個整齊的欄中,甚至當它伸展到邊欄(左欄或者右欄)的底端也是這樣。

三欄布局的一個例子

請看看用本文所介紹的技術進行三欄布局的例子。這個例子用鮮艷的顏色來區(qū)分布局的各個div。下面是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>

下面是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 5px 160px; margin: 0px; background-color: silver; } div#footer { clear: both; background-color: yellow; }

代碼說明

HTML代碼中各部分出現(xiàn)的順序是非常重要的。左欄和右欄div必須在中欄之前出現(xiàn)。這樣才可以讓這兩個邊欄浮動到它們的位置上(屏幕兩側(cè)),并讓中欄的內(nèi)容將“流”入它們之間的空間。如果瀏覽器在一個或者兩個邊欄div之前先發(fā)現(xiàn)中欄,那么中欄將占據(jù)屏幕的一側(cè)或者兩側(cè),這樣浮動的部分就會跑到中欄的下面而不是中欄的旁邊了。

div#header和div#footer樣式(style)中的clear:both申明用來確保這浮動部分不會占據(jù)標題和頁腳的空間。div#header樣式中的padding:1px申明用來消除頁頭背景色中的異常邊,如果padding設置為零,那么在Netscape瀏覽器中就會看到這個異常。

div#left樣式中的float:left申明是用來把左欄擠壓到左側(cè)。width:150px申明用來設置欄的固定寬度,不過你也可以把它的寬度設置為其它具體值。類似的,div#right樣式中的float:right申明用來把右欄div擠壓到右側(cè)。在本例中,float把左欄和右欄完全擠壓到瀏覽器窗口的左邊緣和右邊緣。然而,如果這些div被其它div包含,那么float將會把它們擠壓到包含它們的div的邊緣。

在div#middle樣式中,clear申明允許中欄的內(nèi)容“流淌”在兩個邊欄之間。padding:0px 160px 5px 160px申明設置了到左欄和右欄的填充,這樣允許150象素寬度的欄div,在加上10象素的間距。

這個例子非常粗糙和簡單,但是它很好的演示了用浮動div來創(chuàng)建三欄液態(tài)布局的邊欄這一基本技術。

本文來源于成都網(wǎng)站建設公司與成都網(wǎng)站設計制作公司-創(chuàng)新互聯(lián)成都公司!

網(wǎng)站名稱:用CSS的float和clear創(chuàng)建三欄液態(tài)布局的方法
分享鏈接:http://www.muchs.cn/news39/319439.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、軟件開發(fā)、電子商務微信公眾號、外貿(mào)建站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)