日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用DIV解決固定寬度布局問題

你對使用DIV+CSS創(chuàng)建固定寬度的布局的方法是否了解,這里和大家分享一下,這種方法與打印布局非常接近,對于設計人員和訪問者來說都是一個很重要的舒適因素。

創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標,我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領域包括成都網(wǎng)站建設、做網(wǎng)站、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。

使用DIV+CSS創(chuàng)建固定寬度的布局

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

從table到div

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

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

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

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

一個固定寬度的例子

圖A

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

下面的XHTML標記生成圖A所示的頁面。(出于簡單考慮,內(nèi)容被截短。)

 
 
 
 
  1. header

  • side1

    • Letmenottothemarriageoftrueminds
    • Admitimpediments;loveisnotlove
    • Whichalterswhenitalterationfinds
    • Orbendswiththeremovertoremove
    • Oh,no,itisaneverfixedmark
  • maincontent

  • Thatlooksontempests...hisheightbetaken.

  • Butbearsitout...alterationfinds.

  • Whoseworth'sunknown,...theremovertoremove.

  • side2

    • Letmenottothemarriageoftrueminds
    • Admitimpediments;loveisnotlove
    • Whichalterswhenitalterationfinds
  • footer

  • Orbendswith...heightbetaken.

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

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

    #p# 分解代碼

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

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

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

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

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

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

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

    居中樣式的變化

    在固定寬度頁面布局中最常見且主要的變化可能是固定寬度的內(nèi)容塊漂在瀏覽器窗口的中間,而不是粘附于瀏覽器窗口的左邊。你可以很容易地實現(xiàn)這一效果,方法是在其余標記周圍(也就是body標簽內(nèi))添加一個包裝器(wrapper)DIV,并創(chuàng)建一個CSS樣式來居中那個DIV。

    圖B

    例如,圖B是在圖A的基礎上添加了一個標簽()和一個相應的CSS樣式后的結果。下面是新添加的CSS樣式的代碼:

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

    這種方法之所以能用,是因為所有的布局DIV都是相對于它們的父元素相對定位的。在圖A中,標題、內(nèi)容列和頁腳所在DIV的父元素是body標簽,但是在圖B中,它們的父元素是wrapperDIV。這種居中方法在“CreatingacenteredpagelayoutwithCSS(使用CSS創(chuàng)建居中頁面布局)”一文中有詳細的解釋。


    網(wǎng)站題目:使用DIV解決固定寬度布局問題
    文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dhdejhh.html