webber

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            11 Posts :: 2 Stories :: 3 Comments :: 0 Trackbacks
          雖然大多數(shù)web文檔的頂部都有doctype聲明,但很多人都沒有注意它。它是在你新建一個文檔時,由web創(chuàng)作軟件草率處理的眾多細(xì)節(jié)之一。

          雖然doctype被許多人忽視,但在遵循標(biāo)準(zhǔn)的任何web文檔中,它都是一項必需的元素。doctype會影響代碼驗證,并決定了瀏覽器最終如何顯示你的web文檔。


          doctype的作用
          doctype聲明指出閱讀程序應(yīng)該用什么規(guī)則集來解釋文檔中的標(biāo)記。在web文檔的情況下,“閱讀程序”通常是瀏覽器或者校驗器這樣的一個程序,“規(guī)則”則是w3c所發(fā)布的一個文檔類型定義(dtd)中包含的規(guī)則。

          每個dtd都包括一系列標(biāo)記、attributes和properties,它們用于標(biāo)記web文檔的內(nèi)容;此外還包括一些規(guī)則,它們規(guī)定了哪些標(biāo)記能出現(xiàn)在其他哪些標(biāo)記中。每個web建議標(biāo)準(zhǔn)(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。

          假如文檔中的標(biāo)記不遵循doctype聲明所指定的dtd,這個文檔除了不能通過代碼校驗之外,還有可能無法在瀏覽器中正確顯示。對于標(biāo)記不一致的問題,瀏覽器相較于校驗器來說更寬容。但是,不正確的doctype聲明經(jīng)常導(dǎo)致網(wǎng)頁不正確顯示,或者導(dǎo)致它們根本不能顯示。


          選擇正確的doctype
          為了獲得正確的doctype聲明,關(guān)鍵就是讓dtd與文檔所遵循的標(biāo)準(zhǔn)對應(yīng)。例如,假定文檔遵循的是xhtml 1.0 strict標(biāo)準(zhǔn),文檔的doctype聲明就應(yīng)該引用相應(yīng)的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風(fēng)格的html標(biāo)記,就是不恰當(dāng)?shù)模活愃频兀绻鹍octype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標(biāo)記,同樣是不恰當(dāng)?shù)摹?br />
          有的時候,也可以根本不使用一個doctype聲明。如果沒有指定有效的doctype聲明,大多數(shù)瀏覽器都會使用一個內(nèi)建的默認(rèn)dtd。在這種情況下,瀏覽器會用內(nèi)建的dtd來試著顯示你所指定的標(biāo)記。對于一些臨時性的、匆忙拼湊的文檔(這種文檔有許多),你確實可以考慮省略doctype聲明,并接受瀏覽器的默認(rèn)顯示。

          完全可以從頭編寫一個doctype聲明,并讓它指向自己選擇的一個dtd。然而,由于大多數(shù)web文檔都需要遵循由w3c發(fā)布的某個國際公認(rèn)的web標(biāo)準(zhǔn),所以那些文檔通常都要包含以下標(biāo)準(zhǔn)doctype聲明之一:

          html 2:

          <!doctype html public "-/ietf/dtd html 2.0/en">

          html 3.2:

          <!doctype html public "-/w3c/dtd html 3.2 final/en">

          html 4.01 strict:

          <!doctype html public "-/w3c/dtd html 4.01/en"
          "http://www.w3.org/tr/html4/strict.dtd">

          html 4.01 transitional:

          <!doctype html public "-/w3c/dtd html 4.01 transitional/en"
          "http://www.w3.org/tr/html4/loose.dtd">

          html 4.01 frameset:

          <!doctype html public "-/w3c/dtd html 4.01 frameset/en"
          "http://www.w3.org/tr/html4/frameset.dtd">

          xhtml 1.0 strict:

          <!doctype html public "-/w3c/dtd xhtml 1.0 strict/en"
          "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">

          xhtml 1.0 transitional:

          <!doctype html public "-/w3c/dtd xhtml 1.0 transitional/en"
          "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

          xhtml 1.0 frameset:

          <!doctype html public "-/w3c/dtd xhtml 1.0 frameset/en"
          "http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd">

          xhtml 1.1:

          <!doctype html public "-/w3c/dtd xhtml 1.1/en"
          "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">

          xhtml 1.1 plus mathml plus svg:

          <!doctype html public
          "-/w3c/dtd xhtml 1.1 plus mathml 2.0 plus svg 1.1/en"
          "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">

          除了上面列出的doctype聲明,具有特殊要求的一些文檔還使用了其他幾種聲明。

          doctype聲明通常是文檔的第一行,要在<html>標(biāo)記以及其他文檔內(nèi)容之前。注意,在xhtml文檔中,doctype的前面偶爾會出現(xiàn)一條xml處理指令(也稱為xml prolog):

          <@xml version="1.0" encoding="utf-8"@>

          為了確保網(wǎng)頁正確顯示和順利通過驗證,使用正確的doctype是關(guān)鍵。與內(nèi)容相反的、不正確的或者形式錯誤的doctype是大量問題的罪魁禍?zhǔn)住T谖磥淼膶谖恼轮校疫€會具體解釋如何診斷及糾正這些問題。

          用dw設(shè)計網(wǎng)頁時,新建一個文件,看代碼最前面總要出現(xiàn)一個下面的東東,
          <!doctype html public "-/w3c/dtd html 4.01 transitional/en"
          "http://www.w3.org/tr/html4/loose.dtd">
          這個是dw自動在網(wǎng)頁文件頁增加了dtd信息.可以刪.
          刪除后,瀏覽器會使用的默認(rèn)dtd.
          posted on 2010-02-11 10:49 webber 閱讀(333) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大埔县| 上思县| 彰化县| 邵东县| 西和县| 岳阳市| 牙克石市| 吐鲁番市| 远安县| 潞西市| 辽宁省| 临沭县| 龙门县| 揭阳市| 大理市| 旬邑县| 屏山县| 舟曲县| 江川县| 古田县| 北票市| 宜阳县| 嘉善县| 武川县| 沙田区| 弥渡县| 苏尼特右旗| 青田县| 麦盖提县| 保康县| 沿河| 兴文县| 延寿县| 江油市| 育儿| 壤塘县| 克拉玛依市| 洛阳市| 隆安县| 梁河县| 黄龙县|