自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CSS float方法實現(xiàn)DIV CSS網(wǎng)頁布局三欄頁

開發(fā) 前端
三欄布局是目前最常見的DIV CSS網(wǎng)頁布局,主要頁內(nèi)容放在中間一欄,邊上的兩欄放置導(dǎo)航鏈接之類的內(nèi)容。這里向大家描述一下如何使用CSS float方法實現(xiàn)DIV CSS網(wǎng)頁布局三欄頁。

本文向大家描述一下使用CSS float方法實現(xiàn)DIV CSS網(wǎng)頁布局三欄頁,現(xiàn)在,我們都開始拋棄基于表格的布局技術(shù),許多網(wǎng)絡(luò)設(shè)計者正在從XHTML標記和CSS格式這一新范例中尋找創(chuàng)建三欄布局的方法。

DIV CSS網(wǎng)頁布局三欄頁CSS float方法

三欄布局是目前最常見的DIV CSS網(wǎng)頁布局,主要頁內(nèi)容放在中間一欄,邊上的兩欄放置導(dǎo)航鏈接之類的內(nèi)容?;静季忠话闶菢祟}之下放置三欄,三欄占據(jù)整個頁面的寬度,最后在頁的底端放置頁腳,頁腳也占據(jù)整個頁面寬度。絕大多數(shù)網(wǎng)頁設(shè)計者都熟悉傳統(tǒng)的網(wǎng)頁設(shè)計技術(shù),用這些技術(shù)可以生成帶有表格、創(chuàng)建固定寬度布局或者“液態(tài)”(它可以根據(jù)用戶瀏覽器窗口寬度自動伸縮)布局的網(wǎng)頁。

現(xiàn)在,我們都開始拋棄基于表格的布局技術(shù),許多網(wǎng)絡(luò)設(shè)計者正在從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)容安排在一個整潔的欄中,甚至當它伸展到邊欄(左欄或者右欄)的底端也是這樣。

三欄布局的一個例子:請看看用本文所介紹的技術(shù)進行三欄布局的例子。這個例子用鮮艷的顏色來區(qū)分布局的各個div。

XHTML代碼:

ExampleSourceCode

  1. <body> 
  2. <dividdivid="header"> 
  3. <h1>Header</h1> 
  4. </div> 
  5. <dividdivid="left"> 
  6. Portsidetext...  
  7. </div> 
  8. <dividdivid="right"> 
  9. Starboardsidetext...  
  10. </div> 
  11. <dividdivid="middle"> 
  12. Middlecolumntext...  
  13. </div> 
  14. <dividdivid="footer"> 
  15. Footertext...  
  16. </div> 
  17. </body> 
  18.  

#p# CSS代碼:

ExampleSourceCode 

  1. body{  
  2. margin:0px;  
  3. padding:0px;  
  4. }  
  5. div#header{  
  6. clear:both;  
  7. height:50px;  
  8. background-color:aqua;  
  9. padding:1px;  
  10. }  
  11. div#left{  
  12. float:left;  
  13. width:150px;  
  14. background-color:red;  
  15. }  
  16. div#right{  
  17. float:right;  
  18. width:150px;  
  19. background-color:green;  
  20. }  
  21. div#middle{  
  22. padding:0px160px5px160px;  
  23. margin:0px;  
  24. background-color:silver;  
  25. }  
  26. div#footer{  
  27. clear:both;  
  28. background-color:yellow;  
  29. }  

代碼演示:

SourceCodetoRun

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN"  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <metahttp-equivmetahttp-equiv="Content-Type"
  6. content="text/html;charset=utf-8"/> 
  7. <title>mb5u.com</title> 
  8. <styletypestyletype="text/css"> 
  9. body{  
  10. margin:0px;  
  11. padding:0px;  
  12. }  
  13. div#header{  
  14. clear:both;  
  15. height:50px;  
  16. background-color:aqua;  
  17. padding:1px;  
  18. }  
  19. div#left{  
  20. float:left;  
  21. width:150px;  
  22. background-color:red;  
  23. }  
  24. div#right{  
  25. float:right;  
  26. width:150px;  
  27. background-color:green;  
  28. }  
  29. div#middle{  
  30. padding:0px160px5px160px;  
  31. margin:0px;  
  32. background-color:silver;  
  33. }  
  34. div#footer{  
  35. clear:both;  
  36. background-color:yellow;  
  37. }  
  38. </style> 
  39. </head> 
  40. <body> 
  41. <dividdivid="header"> 
  42. <h1>Header-mb5u.com</h1> 
  43. </div> 
  44. <dividdivid="left"> 
  45. Portsidetext...  
  46. </div> 
  47. <dividdivid="right"> 
  48. Starboardsidetext...  
  49. </div> 
  50. <dividdivid="middle"> 
  51. Middlecolumntext...  
  52. </div> 
  53. <dividdivid="footer"> 
  54. Footertext...mb5u.com  
  55. </div> 
  56. </body> 
  57. </html> 

[可先修改部分代碼再運行查看效果]#p#

代碼說明

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設(shè)置為零,那么在Netscape瀏覽器中就會看到這個異常。

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)容“流淌”在兩個邊欄之間。padding:0px160px5px160px申明設(shè)置了到左欄和右欄的填充,這樣答應(yīng)150象素寬度的欄div,在加上10象素的間距。

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

【編輯推薦】

  1. CSS實現(xiàn)鼠標懸停tip效果
  2. JavaScript動態(tài)創(chuàng)建div屬性和樣式
  3. DIV CSS網(wǎng)頁布局時合理架構(gòu)CSS
  4. CSS2.0中page-break-after屬性用法
  5. 探究CSS中border:none;與border:0;的區(qū)別
責任編輯:佚名 來源: 52css.com
相關(guān)推薦

2010-08-24 15:45:48

DIVCSSfloat

2010-09-09 10:56:56

CSS

2010-09-10 14:06:47

DIV固定CSS

2010-09-06 15:46:08

CSSDIV

2010-08-24 15:31:51

DIVCSS

2010-09-02 09:32:09

DIV CSS

2010-08-17 11:12:18

DIV CSS

2010-08-16 14:18:49

DIV+CSS

2011-06-03 15:32:25

CSS

2010-09-03 15:40:42

最小高度DIVCSS

2010-08-17 13:28:31

DIVCSS

2010-09-03 15:59:19

DIV CSS

2010-09-14 17:07:26

DIV浮動定位CSS

2010-08-24 13:01:13

DIV+CSS

2010-08-30 14:57:21

DIV+CSS

2010-08-23 09:59:16

DIV+CSSSEO

2010-09-10 10:36:30

DIV CSS

2010-08-27 13:46:58

DIV+CSS

2010-08-23 13:59:32

DIV CSSmarginpadding

2010-08-30 10:58:19

DIV CSSfloat
點贊
收藏

51CTO技術(shù)棧公眾號