webber

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

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


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

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

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


          選擇正確的doctype
          為了獲得正確的doctype聲明,關鍵就是讓dtd與文檔所遵循的標準對應。例如,假定文檔遵循的是xhtml 1.0 strict標準,文檔的doctype聲明就應該引用相應的dtd。另一方面,如果doctype聲明指定的是xhtml dtd,但文檔包含的是舊式風格的html標記,就是不恰當的;類似地,如果doctype聲明指定的是html dtd,但文檔包含的是xhtml 1.0 strict標記,同樣是不恰當的。

          有的時候,也可以根本不使用一個doctype聲明。如果沒有指定有效的doctype聲明,大多數瀏覽器都會使用一個內建的默認dtd。在這種情況下,瀏覽器會用內建的dtd來試著顯示你所指定的標記。對于一些臨時性的、匆忙拼湊的文檔(這種文檔有許多),你確實可以考慮省略doctype聲明,并接受瀏覽器的默認顯示。

          完全可以從頭編寫一個doctype聲明,并讓它指向自己選擇的一個dtd。然而,由于大多數web文檔都需要遵循由w3c發布的某個國際公認的web標準,所以那些文檔通常都要包含以下標準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>標記以及其他文檔內容之前。注意,在xhtml文檔中,doctype的前面偶爾會出現一條xml處理指令(也稱為xml prolog):

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

          為了確保網頁正確顯示和順利通過驗證,使用正確的doctype是關鍵。與內容相反的、不正確的或者形式錯誤的doctype是大量問題的罪魁禍首。在未來的專欄文章中,我還會具體解釋如何診斷及糾正這些問題。

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

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


          網站導航:
           
          主站蜘蛛池模板: 广汉市| 嘉定区| 穆棱市| 斗六市| 永宁县| 资兴市| 隆德县| 青岛市| 米林县| 正阳县| 密云县| 平泉县| 苍山县| 都江堰市| 丰台区| 阳泉市| 黑山县| 固镇县| 余姚市| 巴彦淖尔市| 九龙城区| 乾安县| 曲沃县| 台东市| 扶风县| 远安县| 溧水县| 伽师县| 黔西县| 长海县| 叙永县| 霍林郭勒市| 丰原市| 海盐县| 奎屯市| 鞍山市| 尤溪县| 周口市| 长治县| 金湖县| 高唐县|