WEB2.0標準教程:第九天第一個CSS布局實例_Div+CSS教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
接下來開始要真正設計布局了。和傳統的方法一樣,你首先要在腦海里有大致的輪廓構想,然后用photoshop把它畫出來。你可能看到有關web標準的站點大都很樸素,因為web標準更關注結構和內容,實際上它與網頁的美觀沒有根本沖突,你想怎么設計就怎么設計,用傳統表格方法實現的布局,用DIV也可以實現。技術有一個成熟的過程,把DIV看成和TABLE一樣的工具,如何運用就看你的想象力了。
注:在實際應用過程中,DIV在有些地方的確不如表格方便,比如背景色的定義。但任何事情都有得有失,取舍在于你的價值判定。好,不羅嗦了,我們開始:
1.確定布局
w3cn的最初設計草圖如下:
用表格的設計方法的話,一般都是上中下三行布局。
用DIV的話,我考慮使用三列來布局,成為這樣
2.定義body樣式
先定義整個頁面的body的樣式,代碼如下:
以上代碼的作用在上一天的教程有具體說明,大家應該一看就明白。定義了邊框邊距為0;背景顏色為#FEFEFE,背景圖片為bg_logo.gif,圖片位于頁面右下角,不重復;定義了字體尺寸為12px;字體顏色為#666;行高150%。
3.定義主要的div
初次使用CSS布局,我決定采用固定寬度的三列布局(比自適應分辨率的設計簡單,hoho,別說我偷懶,先實現簡單的,增加點信心嘛!)。分別定義左中右的寬度為200:300:280,在CSS中如下定義:
注重:定義中列和右列div我都采用了POSITION: absolute;,然后分別定義了LEFT:200px;TOP:0px;和LEFT:500px;TOP:0px;這是這個布局的要害,我采用了層的絕對定位。定義中間列距離頁面左邊框200px,距離頂部0px;定義右列距離頁面左邊框500px,距離頂部0px;。
這時候整個頁面的代碼是:
[ 可先修改部分代碼 再運行查看效果 ]
這時候頁面的效果僅僅可以看到三個并列的灰色矩形,和一個背景圖。但是我希望高度是滿屏的,怎么辦呢?
4.100%自適應高度?
為了保持三列有同樣的高度,我嘗試在#left、#middle和#right中設置"height:100%;",但發現完全沒有預想的自適應高度效果。經過一番嘗試后,我只好給每個div一個絕對高度:"height:1000px;",并且隨著內容的增加,需要不斷修正這個值。難道沒有辦法自適應高度了嗎?隨著阿捷自己學習的深入,發現一個變通的解決辦法,實際上根本不需要設置100%,我們已經被table思維禁錮太深了,這個辦法在下一節的學習中具體介紹。
注:在實際應用過程中,DIV在有些地方的確不如表格方便,比如背景色的定義。但任何事情都有得有失,取舍在于你的價值判定。好,不羅嗦了,我們開始:
1.確定布局
w3cn的最初設計草圖如下:
用表格的設計方法的話,一般都是上中下三行布局。
用DIV的話,我考慮使用三列來布局,成為這樣
2.定義body樣式
先定義整個頁面的body的樣式,代碼如下:
示例代碼 [www.wf0088.com]
body { MARGIN: 0px;
PADDING: 0px;
BACKGROUND: url(../images/bg_logo.gif) #FEFEFE no-repeat right bottom;
FONT-FAMILY: 'Lucida Grande','Lucida Sans Unicode','宋體','新宋體',arial,verdana,sans-serif;
COLOR: #666;
FONT-SIZE:12px;
LINE-HEIGHT:150%; }
PADDING: 0px;
BACKGROUND: url(../images/bg_logo.gif) #FEFEFE no-repeat right bottom;
FONT-FAMILY: 'Lucida Grande','Lucida Sans Unicode','宋體','新宋體',arial,verdana,sans-serif;
COLOR: #666;
FONT-SIZE:12px;
LINE-HEIGHT:150%; }
以上代碼的作用在上一天的教程有具體說明,大家應該一看就明白。定義了邊框邊距為0;背景顏色為#FEFEFE,背景圖片為bg_logo.gif,圖片位于頁面右下角,不重復;定義了字體尺寸為12px;字體顏色為#666;行高150%。
3.定義主要的div
初次使用CSS布局,我決定采用固定寬度的三列布局(比自適應分辨率的設計簡單,hoho,別說我偷懶,先實現簡單的,增加點信心嘛!)。分別定義左中右的寬度為200:300:280,在CSS中如下定義:
示例代碼 [www.wf0088.com]
/*定義頁面左列樣式*/
#left{ WIDTH:200px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #CDCDCD;
}
/*定義頁面中列樣式*/
#middle{ POSITION: absolute;
LEFT:200px;
TOP:0px;
WIDTH:300px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #DADADA;
}
/*定義頁面右列樣式*/
#right{ POSITION: absolute;
LEFT:500px;
TOP:0px;
WIDTH:280px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #FFF; }
#left{ WIDTH:200px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #CDCDCD;
}
/*定義頁面中列樣式*/
#middle{ POSITION: absolute;
LEFT:200px;
TOP:0px;
WIDTH:300px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #DADADA;
}
/*定義頁面右列樣式*/
#right{ POSITION: absolute;
LEFT:500px;
TOP:0px;
WIDTH:280px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #FFF; }
注重:定義中列和右列div我都采用了POSITION: absolute;,然后分別定義了LEFT:200px;TOP:0px;和LEFT:500px;TOP:0px;這是這個布局的要害,我采用了層的絕對定位。定義中間列距離頁面左邊框200px,距離頂部0px;定義右列距離頁面左邊框500px,距離頂部0px;。
這時候整個頁面的代碼是:
代碼調試框 [www.wf0088.com]
[ 可先修改部分代碼 再運行查看效果 ]
這時候頁面的效果僅僅可以看到三個并列的灰色矩形,和一個背景圖。但是我希望高度是滿屏的,怎么辦呢?
4.100%自適應高度?
為了保持三列有同樣的高度,我嘗試在#left、#middle和#right中設置"height:100%;",但發現完全沒有預想的自適應高度效果。經過一番嘗試后,我只好給每個div一個絕對高度:"height:1000px;",并且隨著內容的增加,需要不斷修正這個值。難道沒有辦法自適應高度了嗎?隨著阿捷自己學習的深入,發現一個變通的解決辦法,實際上根本不需要設置100%,我們已經被table思維禁錮太深了,這個辦法在下一節的學習中具體介紹。
相關Div+CSS教程:
- 相關鏈接:
- 教程說明:
Div+CSS教程-WEB2.0標準教程:第九天第一個CSS布局實例。