HTML 第六章 CSS + DIV實現整體佈局


HTML 第七章 CSS + DIV實現局部佈局


HTML 第六章 CSS + DIV實現整體佈局

1、技術目標:

  • 開發符合W3C標準的Web頁面
  • 理解盒子模型
  • 實現DIV+CSS整體佈局

2、什麼是W3C標準?

    W3C:World Wide Web Consortium,萬維網聯盟
    W3C的職能:負責制定和維護Web行業標準
    W3C標準包括一系列的標準:

  • HTML內容方面:XHTML
  • 樣式美化方面:CSS 
  • 結構文檔訪問方面:DOM
  • 頁面交互方面:ECMAScript
  • ……等等


3、W3C倡導的Web結構要符合以下要求:

  • XHTML負責內容組織
  • CSS負責頁面樣式


4、符合W3C規範頁面的結構:

   

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html;
                charset=gb2312" />
        <title>無標題文檔</title>
    </head>
    <body>
            ......頁面內容部分
    </body>
    </html>
 

5、XHTML基本規範

  1. 標籤名和屬性名稱必須小寫
  2. HTML標籤必須關閉
  3. 屬性值必須用引號括起來
  4. 標籤必須正確嵌套
  5. 文檔必須擁有一個根元素,所有的XHTML元素必須嵌套於<html>根元素中
  6. 屬性不能簡寫,如:

                       <input checked="checked" />
                       <input readonly="readonly" />
                       <option selected="selected" />

6、頁面開發需要注意的地方:

  • 不要使用淘汰的標籤:<b>、<font>、<marquee>等,可參考官方文檔(http://www.w3c.org)
  • <img />標籤的alt屬性:爲圖片增加alt屬性
  • 樣式和內容分離:將樣式和結構分離,不使用行類樣式
  • 表單的name和id:表單及表單元素要求設置name和id屬性
  • 使用CSS + DIV佈局
  • 頁面的瀏覽器兼容性


7、爲什麼需要盒子模型?


    網頁可以看成由一個個"盒子"組成,如圖:
   

    由上圖可以看出,頁面分爲上(網站導航)、中、下(版權聲明)三個部分,
    中間部分又分爲左(商品分類)、中(主要部分)、右,這些版塊就像一個個
    的盒子,這些"盒子"中放置着各種內容,頁面就是由這些"盒子"拼湊起來

8、盒子模型的相關屬性

  • margin(外邊距/邊界)
  • border(邊框)
  • padding(內邊距/填充 )

     我們看圖理解一下各屬性作用:

    

     以上屬性又分爲上、右、下、左四個方向
    
    
問題:頁面元素的寬度width、高度height如何計算?
     答案:元素的實際佔位尺寸 = 元素尺寸 + padding + 邊框寬度
     比如:元素實際佔位高度 = height屬性 + 上下padding + 上下邊框寬度


9、盒模型的層次關係


    我們通過一個經典的盒模型3D立體結構圖來理解,如圖:
   

     從上往下看,層次關係如下:

     第1層:盒子的邊框(border),
     第2層:元素的內容(content)、內邊距(padding)
     第3層:背景圖(background-image)
     第4層:背景色(background-color)
     第5層:盒子的外邊距(margin)

     從這個層次關係中可以看出,當同時設置背景圖和背景色時,背景
     圖將在背景色的上方顯示

10、margin外邊距

  
    可統一設置或四邊分開設置,如圖:

      

    具體的設置可查看CSS幫助文檔(頁面下方提供下載)

11、水平居中和垂直居中


    水平居中包含兩種情況:
       
塊級元素的水平居中:margin:0px auto;
        文字內容的水平居中:text-align: center;

   
    垂直居中:
        常見的單行文字的垂直居中可設置文字所在行的height與
        行高樣式屬性一致,比如:
        div{
            width: 400px;
            height: 400px;
            line-height: 400px;/*行高與div高度一致*/
        }

12、案例的首頁佈局分析

      

         只保留DIV的佈局分析:

        

13、首頁佈局CSS + DIV代碼分析


    HTML結構代碼:
    <div id="container">
            <div id="header">頂部(header)</div>
            <div id="main">主體部分(main)</div>
            <div id="footer">底部(footer)</div>
    </div>
   
    CSS樣式代碼:
    /*主面板樣式*/
    #container {
        width:980px;
        margin:0px auto;/*主面板DIV居中*/
    }
    /*頂部面板樣式*/
    #header {
        width:100%;
        height:150px;
        border:1px #F00 solid;
    }
    /*中間部分面板樣式*/
    #main {
        width:100%;
        height:400px;
        border:1px #F00 solid;
    }
    /*底部面板樣式*/
    #footer {
        width:100%;
        height:100px;
        border:1px #F00 solid;
    }

14、爲什麼需要float浮動屬性?

  
    我們來看看下圖:

   
   
    問題: 如何讓商品分類DIV、內容DIV和右側DIV並排放置?
    答案: 使用float(浮動)樣式

15、浮動屬性


    理解浮動屬性首先要搞清楚,什麼是文檔流?
    文檔流: 瀏覽器根據元素在html文檔中出現的順序,
        從左向右,從上到下依次排列
   
    浮動屬性是CSS中的定位屬性,用法如下:
        float: 浮動方向(left、right、none);

    left爲左浮動、right爲右浮動、none是默認值表示不浮動
    ,設置元素的浮動,該元素將脫離文檔流,向左或向右移動
    直到它的外邊距碰到父元素的邊框或另一個浮動元素的邊
    框爲止


    浮動示例,沒有使用浮動的3個DIV:
    HTML結構代碼:
        <div id="first">第1塊div</div>
        <div id="second">第2塊div</div>
        <div id="third">第3塊div</div>

    CSS樣式代碼:
        #first, #second, #third{
                width:100px;
                height:50px;
                border:1px #333 solid;
                margin:5px;
        }

    執行效果如圖:
   


    樣式中加入 float:left;
    執行效果如圖:
   
   
    你再修改爲 float: right試試右浮動是什麼效果
   
16、讓商品分類DIV、內容DIV和右側DIV並排放置

    HTML結構代碼:
   

    <div id="container">
        <div id="header">頂部(header)</div>
        <div id="main">
            <div class="cat">商品分類(cat)</div>
            <div class="content">內容(content)</div>
            <div class="sidebar">右側(sidebar)</div>
        </div>
        <div id="footer">底部(footer)</div>
    </div>
 

   
    CSS樣式代碼(在第13節CSS代碼基礎上加入):

    .cat, .sidebar {
        float:left;
        width:20%;
        height:100%;
    }
    .content {
        float:left;
        width:60%;
        height:100%;
    }

17、clear清除


    clear只對塊級元素有效,表示如果前一個元素存在左浮動或右浮動,則換行
    clear屬性的取值:rigth、left、both、none

18、總結

  • 盒子模型有哪些屬性?各屬性又分別包含哪些屬性?
  • float屬性的應用場合?有哪些取值?   
  • clear屬性的應用場合?有哪些取值?


HTML 第七章 CSS + DIV實現局部佈局

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章