DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> Float構建三欄DIV CSS網頁布局
Float構建三欄DIV CSS網頁布局
編輯:CSS詳解     

你對用float構建三欄DIV CSS網頁布局的用法是否熟悉,這裡和大家分享一下,用絕對定位的方法從CSS中得到固定寬度的布局並不困難;但是得到液態布局就有點困難了,因此現在都開始拋棄基於表格的布局技術。

用float構建三欄DIV CSS網頁布局

許多網絡設計者正在從XHtml標志和CSS格式這一新范例中尋找創建三欄布局的方法。用絕對定位的方法從CSS中得到固定寬度的布局並不困難;但是得到液態布局就有點困難了,因此現在都開始拋棄基於表格的布局技術。本文介紹一種用CSS float和clear屬性來獲得三欄液態布局的方法。

主要頁內容放在中間一欄,三欄布局是目前最常見的網頁布局。邊上的兩欄放置導航鏈接之類的內容。基本布局一般是標題之下放置三欄,三欄占據整個頁面的寬度,最後在頁的底端放置頁腳,頁腳也占據整個頁面寬度。

用這些技術可以生成帶有表格、創建固定寬度布局或者“液態”可以根據用戶浏覽器窗口寬度自動伸縮)布局的網頁。絕大多數網頁設計者都熟悉傳統的網頁設計技術。

基本方法:

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

三欄布局的一個例子:請看看用本文所介紹的技術進行三欄布局的例子。這個例子用鮮艷的顏色來區分布局的各個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>

◆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. }

代碼說明

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:0px160px5px160px申明設置了到左欄和右欄的填充,這樣允許150象素寬度的欄div,在加上10象素的間距。這個例子非常粗糙和簡單,但是它很好的演示了用浮動div來創建三欄液態布局的邊欄這一基本技術。

文章來源:Div-Css.net設計網參考:http://www.div-CSS.Net/div_CSS/topic/index.ASP?id=7094

【編輯推薦】

  1. DIV CSS隱藏內容樣式方法詳解
  2. IE6.0對padding的解讀分析
  3. 揭露CSS中margins折疊現象內幕
  4. DIV CSS網頁布局開發參考規范
  5. 技術分享 如何使用CSS控制超鏈接文字樣式
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved