詳解web標準

WEB標準是一系列標準的集合,網頁主要由三部分組成:結構(Structure)、表現(Presentation)和行爲(Behavior)。對應的標準也分三方面:結構化標準語言主要包括XHTML和XML,表現標準語言主要包括CSS,行爲標準主要包括對象模型(如W3C DOM)、ECMAScript等。

引用塊內容

1.結構標準

  • 可擴展標記語言(XML)

HTML一樣,XML同樣來源於標準通用標記語言,可擴展標記語言和標準通用標記語言都是能定義其他語言的語言。XML最初設計的目的是彌補HTML的不足,以強大的擴展性滿足網絡信息發佈的需要,後來逐漸用於網絡數據的轉換和描述。


  • 可擴展超文本標記語言(XTHML)

目前推薦遵循的是W3C於2000年1月26日推薦XML1.0。XML雖然數據轉換能力強大,完全可以替代HTML,但面對成千上萬已有的站點,直接採用XML還爲時過早。因此,我們在HTML4.0的基礎上,用XML的規則對其進行擴展,得到了XHTML。簡單的說,建立XHTML的目的就是實現HTML向XML的過渡

2.表現標準

層疊樣式表(CSS)。目前推薦遵循的是萬維網聯盟(W3C)於1998年5月12日推薦CSS2。W3C創建CSS標準的目的是以CSS取代HTML表格式佈局、幀和其他表現的語言。純CSS佈局與結構式XHTML相結合能幫助設計師分離外觀與結構,使站點的訪問及維護更加容易。

3.行爲標準

  • ECMAScript

    ECMAScript 是 ECMA 制定的標準腳本語言(javaScript),目前遵循的是ECMAScript 262

  • 文檔對象模型

    文檔對象模型(DOM)。根據W3C DOM規範,DOM是一種與瀏覽器,平臺,語言的接口,使得你可以訪問頁面其他的標準組件。簡單理解,DOM解決了Netscaped的Javascript和Microsoft的Javascript之間的衝突,給予web設計師和開發者一個標準的方法,讓他們來訪問他們站點中的數據、腳本和表現層對象。

4.代碼標準

  • 必須結束標記

    XHTML要求有嚴謹的結構,所有標籤必須關閉。如果是單獨不成對的標籤,在標籤最後加一個”/”來關閉它。

    例如:<br />

    例如:<img height="80" alt="網頁設計師" src="../images/logo_w3cn_200x80.gif" width="200" />

  • 小寫元素和屬性名

    XHTML對大小寫是敏感的,<title><TITLE>是不同的標籤。XHTML要求所有的標籤和屬性的名字都必須使用小寫。

    大小寫夾雜也是不被認可的,通常dreamweaver自動生成的屬性名字onMouseOver也必須修改成onmouseover

  • 標記都必須合理嵌套

    例如:<p><b></b></p>,就是說,一層一層的嵌套必須是嚴格對稱。

  • 屬性必須括起來

    例如:<height=80>必須修改爲:<height="80">

    特殊情況:你需要在屬性值裏使用雙引號,你可以用”,單引號可以使用&apos;,例如:<alt="say&apos;hello&apos;">

  • 特殊符號用編碼表示

    1. <,不是標籤的一部分,都必須被編碼爲&lt; ;

    2. >,不是標籤的一部分,都必須被編碼爲&gt;;

    3. &,不是實體的一部分,都必須被編碼爲&amp;;

    4. ,不是實體的一部分,都必須被編碼爲&nbsp;

  • 給所有屬性賦值

    XHTML規定所有屬性都必須有一個值,沒有值的就重複本身。

    例如:<td nowrap> <input type="checkbox" name="shirt" value="medium"checked>

    必須修改爲:<td nowrap="nowrap"> <input type="checkbox" name="shirt"value="medium" checked="checked">

  • 在註釋中不使用的符號

    “–”只能發生在XHTML註釋的開頭和結束,也就是說,在內容中它們不再有效。例如下面的代碼是無效的:<!--這裏是註釋-----------這裏是註釋-->

5.測試標準

(1)標準測試的內容

1. 頁面校驗

2.CSS文檔校驗

3.XHTML 1.0 標準

4.W3C標準測試

測試時一定要有文件類別宣告還有指定文件編碼,才能順利進行測試動作,開始打造一個標準的網站!

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

(2)W3C標準測試使用說明

  • XHTML 1.0文件類別宣告的正確寫法 (不可小寫)

    過度標準(Transitional)公共標識符稱爲:”-//W3C//DTD XHTML1.0Transitional//EN”。

    <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

    框架標準(Frameset)公共標識符稱爲:“-//W3C//DTD XHTML 1.0 Frameset//EN”。

    <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN">

    嚴格標準(Strict) 公共標識符稱爲:“-//W3C//DTD XHTML 1.0 Strict//EN”。

    <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">

  • 所有網頁頭文件都必須改爲標準格式

    <head>
    <meta
       http-equiv="content-type"
       content="text/html; charset=gb2312" />
    <meta http-equiv="content-language" content="zh-cn" />
    <meta name="keywords" content="..." />
    <meta name="description" content="..."/>
    <title>...</title>
    </head>
  • 不允許使用target="_blank";

    在HTML4.01可以使用target="_blank",但XHTML1.0是不被允許的.

    function 外部鏈接()     //unicode javascript
    {
      if (!document.getElementsByTagName) return;
      var anchors = document.getElementsByTagName("a");
      for (var i=0; i<anchors.length; i++)
      {
            var anchor = anchors;
            if (anchor.getAttribute("href") &&
            anchor.getAttribute("rel") == "external")
            anchor.target = "_blank";
      }
    } 
    window.onload = 外部鏈接;

    你可以把它保存成一個.js文件(比如外部鏈接.js),然後通過外部聯接方法調用:

    <script type="text/javascript" src="外部鏈接.js"></script>

  • XHTML 1.0要求所有的標籤必須關閉

    所有沒有成對的空標籤必須以 />結尾,例如:

    <hr />
    <input type="text" name="name" />

  • 所有標籤元素名都使用小寫

    錯誤 <HTML> <TITLE> <HEAD> <BODY>

    正確<html> <title> <head> <body>

  • 同一個id選擇器不可同時使用

    一個網頁中id=”xx”同一個選擇器不能重複使用,若需要重複請用class=”xx”

  • 標籤必須是一對

    例如:<p></p>

  • 正確標籤順序

  • JavaScript寫法

    W3C標準必須爲程式指定類型type=text/javascript,所以要寫爲

    <scripttype="text/javascript">或者

    <script language="javascript" type="text/javascript">

    載入外部.js獨立檔案的寫法

    <script type="text/javascript" src="script.js"></script>

  • 絕對不可省略單引號或者雙引號

    錯誤: <img src=bg.gif width=140 height=30 alt=text />

    正確:<img src="bg.gif" width="140" height="30" alt="text" />

  • 圖片標籤加上文字說明alt="文字說明"

    <img src="bg.gif" height="50" border="0" alt="說明文字" />

  • 背景音樂不允許使用 bgsound標籤

    正確寫法如下,然後通過外部鏈接方法調用

    var MSIE=navigator.userAgent.indexOf("MSIE");
    var NETS=navigator.userAgent.indexOf("Netscape");
    var OPER=navigator.userAgent.indexOf("Opera");
    if((MSIE>-1) || (OPER>-1)) {
    document.write("<BGSOUND SRC=背景音樂地址 LOOP=INFINITE>");
    } else {
    document.write("<EMBED SRC=背景音樂地址 AUTOSTART=TRUE ");
    document.write("HIDDEN=true VOLUME=100 LOOP=TRUE>");
    }
  • 不允許使用框架標籤

    用js通過外鏈引入頁面

    function ifr(url,w,h){
        document.write('<iframe id="ifr" name="ifr" width="'+w+'" height="'+h+'" border="0" frameborder="0" scrolling="no" src="'+url+'"></iframe>');}
  • 註解文字不可包含”–”符號

    錯誤<!-- OEC--SPACE -->

    正確 <!-- OECSPACE -->

  • 正確使用CSS樣式表

  • 非標籤部分以編碼表示

  • 所有屬性都必須有值

6.優點

(1)對於訪問者

文件下載與頁面顯示速度更快。

內容能被更多的用戶所訪問(包括失明、視弱、色盲等殘障人士)。

內容能被更廣泛的設備所訪問(包括屏幕閱讀機,手持設備,搜索機器人,打印機,電冰箱等)。

用戶能夠通過樣式選擇定製自己的表現界面。

所有頁面都能提供適於打印的版本。

(2)對於網站所有者

更少的代碼和組件,容易維護。

帶寬要求降低(代碼更簡潔),成本降低。舉個例子:當 ESPN.com 使用 CSS改版後,每天節約超過兩兆字節(terabytes)的帶寬。

更容易被搜尋引擎搜索到。

改版方便,不需要變動頁面內容。

提供打印版本而不需要複製內容。

提高網站易用性。在美國,有嚴格的法律條款(Section 508)來約束政府網站必須達到一定的易用性,其他國家也有類似的要求。

7.誤區

不爲通過校驗才標準化

web標準的本意是實現內容(結構)和表現分離,就是將樣式剝離出來放在單獨的css文件中。這樣做的好處是可以分別處理內容和表現,也方便搜索和內容的再利用。

W3C校驗僅僅是幫助你檢查XHTML代碼的書寫是否規範,css的屬性是否都在CCS2的規範內。代碼的標準化僅僅是第一步,不是說通過的校驗,我的網頁就標準化了。我們不是爲了虛名,或者向別人炫耀:“看我的頁面通過了校驗”而去標準化,我們的目的是爲了使自己的網頁設計工作更有效率,爲了縮小網頁尺寸,爲了能夠在任何瀏覽器和網絡設備中正常瀏覽。

不用傳統表格思維來套div

不必每塊內容都建id

我們知道內容都是有結構的(如果不明白,請點擊閱讀,理解表現和結構相分離 ,相同的結構的內容我們可以用同一個樣式來定義,比如相同級別的標題、正文、圖片。對於多次引用的樣式可以用class來定義,不需要每個都用id;另外也不是說一定要用,你完全可以用別的來代替,同樣都是塊級元素,一樣有盒模型的七個參數,僅僅方便浮動。

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