Div CSS網(wǎng)頁布局三欄頁CSSfloat方法_Div+CSS教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
三欄布局是目前最常見的網(wǎng)頁布局,主要頁內(nèi)容放在中間一欄,邊上的兩欄放置導(dǎo)航鏈接之類的內(nèi)容。基本布局一般是標(biāo)題之下放置三欄,三欄占據(jù)整個(gè)頁面的寬度,最后在頁的底端放置頁腳,頁腳也占據(jù)整個(gè)頁面寬度。
絕大多數(shù)網(wǎng)頁設(shè)計(jì)者都熟悉傳統(tǒng)的網(wǎng)頁設(shè)計(jì)技術(shù),用這些技術(shù)可以生成帶有表格、創(chuàng)建固定寬度布局或者“液態(tài)”(它可以根據(jù)用戶瀏覽器窗口寬度自動(dòng)伸縮)布局的網(wǎng)頁。
現(xiàn)在,我們都開始拋棄基于表格的布局技術(shù),許多網(wǎng)絡(luò)設(shè)計(jì)者正在從XHTML標(biāo)記和CSS格式這一新范例中尋找創(chuàng)建三欄布局的方法。用絕對定位的方法從CSS中得到固定寬度的布局并不困難;但是得到液態(tài)布局就有點(diǎn)困難了。因此,本文介紹一種用CSS的float和clear屬性來獲得三欄液態(tài)布局的方法。
基本方法:基本的布局包含五個(gè)div,即標(biāo)題、頁腳和三欄。標(biāo)題和頁腳占據(jù)整個(gè)頁寬。左欄div和右欄div都是固定寬度的,并且用float屬性來把它們擠壓到瀏覽器窗口的左側(cè)和右側(cè)。中欄實(shí)際上占據(jù)了整個(gè)頁寬,中欄的內(nèi)容在左、右兩欄之間“流淌”。由于中欄div的寬度并不固定,因此它可以根據(jù)瀏覽器窗口的改變進(jìn)行必要的伸縮。中欄div的左側(cè)和右側(cè)的填充(padding)屬性保證內(nèi)容安排在一個(gè)整潔的欄中,甚至當(dāng)它伸展到邊欄(左欄或者右欄)的底端也是這樣。
三欄布局的一個(gè)例子:請看看用本文所介紹的技術(shù)進(jìn)行三欄布局的例子。這個(gè)例子用鮮艷的顏色來區(qū)分布局的各個(gè)div。
XHTML代碼:
CSS代碼:
代碼演示:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
代碼說明
HTML代碼中各部分出現(xiàn)的順序是非常重要的。左欄和右欄div必須在中欄之前出現(xiàn)。這樣才可以讓這兩個(gè)邊欄浮動(dòng)到它們的位置上(屏幕兩側(cè)),并讓中欄的內(nèi)容將“流”入它們之間的空間。假如瀏覽器在一個(gè)或者兩個(gè)邊欄div之前先發(fā)現(xiàn)中欄,那么中欄將占據(jù)屏幕的一側(cè)或者兩側(cè),這樣浮動(dòng)的部分就會跑到中欄的下面而不是中欄的旁邊了。
div#header和div#footer樣式(style)中的clear:both申明用來確保這浮動(dòng)部分不會占據(jù)標(biāo)題和頁腳的空間。div#header樣式中的padding:1px申明用來消除頁頭背景色中的異常邊,假如padding設(shè)置為零,那么在Netscape瀏覽器中就會看到這個(gè)異常。
div#left樣式中的float:left申明是用來把左欄擠壓到左側(cè)。width:150px申明用來設(shè)置欄的固定寬度,不過你也可以把它的寬度設(shè)置為其它具體值。類似的,div#right樣式中的float:right申明用來把右欄div擠壓到右側(cè)。在本例中,float把左欄和右欄完全擠壓到瀏覽器窗口的左邊緣和右邊緣。然而,假如這些div被其它div包含,那么float將會把它們擠壓到包含它們的div的邊緣。
在div#middle樣式中,clear申明答應(yīng)中欄的內(nèi)容“流淌”在兩個(gè)邊欄之間。padding:0px 160px 5px 160px申明設(shè)置了到左欄和右欄的填充,這樣答應(yīng)150象素寬度的欄div,在加上10象素的間距。
這個(gè)例子非常粗糙和簡單,但是它很好的演示了用浮動(dòng)div來創(chuàng)建三欄液態(tài)布局的邊欄這一基本技術(shù)。
絕大多數(shù)網(wǎng)頁設(shè)計(jì)者都熟悉傳統(tǒng)的網(wǎng)頁設(shè)計(jì)技術(shù),用這些技術(shù)可以生成帶有表格、創(chuàng)建固定寬度布局或者“液態(tài)”(它可以根據(jù)用戶瀏覽器窗口寬度自動(dòng)伸縮)布局的網(wǎng)頁。
現(xiàn)在,我們都開始拋棄基于表格的布局技術(shù),許多網(wǎng)絡(luò)設(shè)計(jì)者正在從XHTML標(biāo)記和CSS格式這一新范例中尋找創(chuàng)建三欄布局的方法。用絕對定位的方法從CSS中得到固定寬度的布局并不困難;但是得到液態(tài)布局就有點(diǎn)困難了。因此,本文介紹一種用CSS的float和clear屬性來獲得三欄液態(tài)布局的方法。
基本方法:基本的布局包含五個(gè)div,即標(biāo)題、頁腳和三欄。標(biāo)題和頁腳占據(jù)整個(gè)頁寬。左欄div和右欄div都是固定寬度的,并且用float屬性來把它們擠壓到瀏覽器窗口的左側(cè)和右側(cè)。中欄實(shí)際上占據(jù)了整個(gè)頁寬,中欄的內(nèi)容在左、右兩欄之間“流淌”。由于中欄div的寬度并不固定,因此它可以根據(jù)瀏覽器窗口的改變進(jìn)行必要的伸縮。中欄div的左側(cè)和右側(cè)的填充(padding)屬性保證內(nèi)容安排在一個(gè)整潔的欄中,甚至當(dāng)它伸展到邊欄(左欄或者右欄)的底端也是這樣。
三欄布局的一個(gè)例子:請看看用本文所介紹的技術(shù)進(jìn)行三欄布局的例子。這個(gè)例子用鮮艷的顏色來區(qū)分布局的各個(gè)div。
XHTML代碼:
示例代碼 [www.wf0088.com]
<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>
<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代碼:
示例代碼 [www.wf0088.com]
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;
}
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;
}
代碼演示:
代碼調(diào)試框 [www.wf0088.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
代碼說明
HTML代碼中各部分出現(xiàn)的順序是非常重要的。左欄和右欄div必須在中欄之前出現(xiàn)。這樣才可以讓這兩個(gè)邊欄浮動(dòng)到它們的位置上(屏幕兩側(cè)),并讓中欄的內(nèi)容將“流”入它們之間的空間。假如瀏覽器在一個(gè)或者兩個(gè)邊欄div之前先發(fā)現(xiàn)中欄,那么中欄將占據(jù)屏幕的一側(cè)或者兩側(cè),這樣浮動(dòng)的部分就會跑到中欄的下面而不是中欄的旁邊了。
div#header和div#footer樣式(style)中的clear:both申明用來確保這浮動(dòng)部分不會占據(jù)標(biāo)題和頁腳的空間。div#header樣式中的padding:1px申明用來消除頁頭背景色中的異常邊,假如padding設(shè)置為零,那么在Netscape瀏覽器中就會看到這個(gè)異常。
div#left樣式中的float:left申明是用來把左欄擠壓到左側(cè)。width:150px申明用來設(shè)置欄的固定寬度,不過你也可以把它的寬度設(shè)置為其它具體值。類似的,div#right樣式中的float:right申明用來把右欄div擠壓到右側(cè)。在本例中,float把左欄和右欄完全擠壓到瀏覽器窗口的左邊緣和右邊緣。然而,假如這些div被其它div包含,那么float將會把它們擠壓到包含它們的div的邊緣。
在div#middle樣式中,clear申明答應(yīng)中欄的內(nèi)容“流淌”在兩個(gè)邊欄之間。padding:0px 160px 5px 160px申明設(shè)置了到左欄和右欄的填充,這樣答應(yīng)150象素寬度的欄div,在加上10象素的間距。
這個(gè)例子非常粗糙和簡單,但是它很好的演示了用浮動(dòng)div來創(chuàng)建三欄液態(tài)布局的邊欄這一基本技術(shù)。
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
猜你也喜歡看這些
- DIV CSS JS仿kijiji導(dǎo)航條
- CSS布局教程:DIV CSS三列式布局的實(shí)現(xiàn)方法
- DIVCSS圖形菜單之仿DreamWeaver
- CSS菜單:由CSS滑動(dòng)門技術(shù)實(shí)現(xiàn)的菜單十一款
- css背景漸變的技巧與方法
- DIVCSS菜單:超炫的菜單一張圖片實(shí)現(xiàn)鼠標(biāo)的兩種狀態(tài)及CSS當(dāng)前頁效果
- DivCSS布局實(shí)例用dldtdd來制作列表
- CSS實(shí)例:如何讓無空格的長字符在IE和FF下面實(shí)現(xiàn)自動(dòng)換行?
- CSS圓角邊框純CSS制作
- 如何用CSS實(shí)現(xiàn)翻頁效果?
- 相關(guān)鏈接:
- 教程說明:
Div+CSS教程-Div CSS網(wǎng)頁布局三欄頁CSSfloat方法
。