成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DIV+CSS創建固定寬度布局

開發 前端
很多Web構建人員傾向于使用固定寬度的布局進行頁面設計,因為它們能生成精確且可預知的結果,這里向大家描述一下使用DIV+CSS創建固定寬度布局。

本文和大家重點討論一下DIV+CSS如何創建固定寬度布局,這種方法與打印布局非常接近,對于包含很多大圖片和其它元素的內容,由于它們在流式布局中不能很好地表現,因此固定寬度布局也是處理這種內容的最好方法。

固定寬度布局Div+CSS如何創建

用XHTML和CSS實現兩列或三列頁面布局的各個方面。到目前為止,所有例子都使用流式布局(也就是布局會自動擴展和適應瀏覽器窗口的寬度)。現在是時候考慮另外一種主要的頁面布局方法了,這種布局方法是固定寬度布局。

很多Web構建人員傾向于使用固定寬度的布局進行頁面設計,因為它們能生成精確且可預知的結果。這種方法與打印布局非常接近,對于設計人員和訪問者來說都是一個很重要的舒適因素;另外,對于包含很多大圖片和其它元素的內容,由于它們在流式布局中不能很好地表現,因此固定寬度布局也是處理這種內容的最好方法。

從table到div

近年來,設計人員都使用表(table)來創建固定寬度的布局。表的列和行是對設計人員的布局表格(grid)的一種可行的模擬,所以一點也不奇怪設計人員為什么采用HTML表來完成頁面布局。

然而,基于表的布局有一個明顯的問題。除了語義上不適合用表來進行布局之外,產生的代碼也很混亂,難于閱讀,甚至難于維護——尤其是在包含合并的表單元格(cell)和嵌套表時。

使用div進行頁面布局效果要好得多。除了這是推薦使用的最佳方法之外,代碼的裝載速度會更快,也更易于處理。

表及其單元格的格式(formatting)屬性被借用到固定寬度布局中,因為指定這些元素的尺寸相當簡單。其實通過div可以做到同樣的事情,只要確定div精確的維數并使用絕對和相對定位將這些div定位到頁面上即可。

一個典型的固定寬度的布局,該布局由頂部的一個標題,一個三列內容的區域(主內容列,每側有一個工具條),和頁面底部的一個頁腳所組成。所有元素的寬度都是固定的;在瀏覽器窗口發布變化時它們的尺寸都不會變化。

以下是將頁面設計為固定寬度布局的CSS代碼。

ExampleSourceCode

  1. body{  
  2. font-family:Verdana,Arial,Helvetica,sans-serif;  
  3. font-size:12px;  
  4. margin:0px;  
  5. padding:0px;  
  6. }  
  7. h2,h3{  
  8. margin-top:0px;  
  9. padding-top:0px;  
  10. }  
  11. div#head{  
  12. position:absolute;  
  13. width:750px;  
  14. height:100px;  
  15. left:0px;  
  16. top:0px;  
  17. background-color:#FFFF66;  
  18. }  
  19. div#columns{  
  20. position:relative;  
  21. width:750px;  
  22. top:100px;  
  23. background-color:#CCCCCC;  
  24. }  
  25. div#side1{  
  26. position:absolute;  
  27. width:150px;  
  28. top:0px;  
  29. left:0px;  
  30. background-color:#FF6666;  
  31. }  
  32. div#content{  
  33. position:relative;  
  34. width:450px;  
  35. top:0px;  
  36. left:150px;  
  37. background-color:#999999;  
  38. }  
  39. div#side2{  
  40. position:absolute;  
  41. width:150px;  
  42. top:0px;  
  43. left:600px;  
  44. background-color:#00FF66;  
  45. }  
  46. div#foot{  
  47. position:relative;  
  48. width:750px;  
  49. clear:both;  
  50. margin-top:100px;  
  51. background-color:#99FFFF;  
  52. }  
  53.  

 #p#

分解代碼

這段標記并不是特別地值得注意——只是在每個主要頁面元素的外面(標題、頁腳、工具條和主內容)包圍著div。每個div有一個id,相應的CSS樣式可以使用這個id引用它。只有一個額外的div(divid="columns")包圍著三列內容區域。在InternetExplorer中將頁腳放在三列中最長一列的下面是必要的。

像平時用法一樣,CSS代碼完成所有的重要任務。首先它完成一些家務管理。Body樣式將頁面的邊距設為零,h2,h3樣式將默認間距設為零。否則的話,這該布局周圍就會有一個邊距,而在某些瀏覽器(比如Netscape和Mozilla)中標題將會在在主內容和頁腳的上面產生一個空白區域。

◆樣式div#head為標題div設置一個明確的高度和寬度。標題使用position:absolute,top:0px和left:0px規則顯式地定位在頁面的左上角。規則position:absolute是非常重要的,因為定位屬性(top、left、right、bottom)在常規(靜態)定位時會被忽略。然而要記住,任何絕對定位的元素都會從常規的頁面流中被移除掉,而屬于頁面流的元素將會像絕對定位元素不存在一樣被定位到頁面上。

◆樣式div#columns控制div的格式,使其充當三個列的容器。它使用position:relative創建屬于常規頁面流的一個元素(它會根據其內容進行擴展和適應,因而影響其它元素的定位),但是它將從其常規位置偏移。規則top:100px提供一個偏移量,將列容器向下推,使其覆蓋標題。

◆規則div#side1控制第一個工具條列的樣式。它設置該列的寬度(width:150px)并使用絕對定位將該列放置在其父元素的左上角。父元素是該列的div,如果該元素使用相對于body元素的相對定位,那么它將解釋top:0px規則而非你所期望的100px設置。規則div#side2以同樣的方式設置左工具條所用的列。div#side1和div#side2唯一不同之處是背景色和left:600px規則,后者將該列定位在其它兩列的右邊。

◆樣式div#content中的主內容所用的列的樣式控制與其它兩列的樣式控制相似。它顯式地設計寬度(width:450px)并使用left:150px和top:0px規則在其父元素(包圍著三個列的div)內定位該列。主要的不同之處在于position:relative規則。我們使用相對定位使主內容列可以影響其父元素(包圍著三個列的div)的尺寸并因此影響頁腳元素的尺寸。

◆樣式div#foot設置頁腳的寬度(width:750px),該樣式還包含一個clear:both規則,該規則保證它接在其它元素下面,而不是旁邊。由于它使用相對定位,所以它在頁面上的位置是由其它元素的流所決定的,在這里具體是由包圍著三個列的div所決定的。規則margin-top:100px是一個很重要的細節,它防止頁腳被上面的列所覆蓋。這些列在頁面流中從它們的常規位置偏移,從而為絕對定位的標題以及需要相應偏移的頁腳騰出空間。

在前面的基礎上添加了一個標簽(<divid="wrapper">)和一個相應的CSS樣式后的結果。下面是新添加的CSS樣式的代碼:

ExampleSourceCode

  1. div#wrapper{  
  2. position:relative;  
  3. margin-left:auto;  
  4. margin-right:auto;  
  5. top:20px;  
  6. width:750px;  
  7. background-color:#CCCCCC;  
  8. }  
  9.  

 這種方法之所以能用,是因為所有的布局div都是相對于它們的父元素相對定位的。

【編輯推薦】

  1. CSS2.0中最常用的十八般兵器
  2. CSS中display:inline-block屬性妙用
  3. CSS控制input樣式和懸停交互
  4. 全面認識CSS中margin屬性用法
  5. CSS代碼結構中id及class類命名探究
責任編輯:佚名 來源: 52css.com
相關推薦

2010-08-25 12:47:40

DIVCSS

2010-08-23 14:30:14

DIV+CSS

2010-08-17 13:16:33

DIVCSS

2010-09-03 15:09:08

DIV+CSS

2010-09-03 10:58:45

DIVCSS

2010-08-23 10:50:39

DIV+CSS

2010-08-17 13:28:31

DIVCSS

2010-09-10 10:30:39

DIV+CSS

2010-08-24 13:01:13

DIV+CSS

2010-08-30 14:57:21

DIV+CSS

2010-08-27 13:58:06

DIV+CSS

2010-08-23 09:59:16

DIV+CSSSEO

2010-08-27 13:46:58

DIV+CSS

2010-08-16 14:18:49

DIV+CSS

2010-08-16 09:32:01

DivCSS

2010-08-25 09:11:57

DIVCSS

2010-08-27 17:41:03

DIV+CSS

2010-08-24 10:26:47

DIV+CSS

2010-09-07 14:14:46

DIV+CSS

2010-08-16 09:44:52

DIVCSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av无遮挡 | 亚洲欧洲一区二区 | japan25hdxxxx日本 做a的各种视频 | 亚洲精品一区二区三区蜜桃久 | 久久国产视频播放 | 日韩欧美不卡 | 欧美福利网站 | 国产综合久久 | 日韩视频免费在线 | 日韩精品专区在线影院重磅 | 精品一区二区三区在线观看国产 | av在线一区二区三区 | 五月婷婷在线视频 | www.亚洲区 | 日韩在线免费视频 | 久久精品国产99国产精品 | 亚洲一区二区三区在线 | 国产欧美精品区一区二区三区 | 久久精品欧美电影 | 日韩在线 | 在线观看成人精品 | 超碰国产在线 | 成人在线观看黄 | 午夜久久久 | www.com久久久 | 日韩精品在线播放 | 红桃视频一区二区三区免费 | 日韩av在线免费 | 亚洲人人 | 九色国产 | 国产激情片在线观看 | 久久久久久久国产精品视频 | 黄色一级免费看 | 免费美女网站 | 国产精品一区二区在线 | 成人精品鲁一区一区二区 | 久久久久国产精品一区二区 | 龙珠z在线观看 | 国产精品中文在线 | 97国产精品视频人人做人人爱 | 欧洲一区在线观看 |