煩人的DTD

  很多用Dreamweaver作頁面朋友也許會發現一個小問題,用DW新建html頁面的時候,DW會自動在頁面頂部添加http://www.w3.org/TR/html4/loose.dtd這麼一句。加了這句的頁面有時候一些javascript和CSS或一些頁面標籤會失效,刪除了這句就會顯示正常。曾經被這個問題困擾了一小會,查找資料得出一些答案。
  這個dtd到底是什麼東西呢?dtd其實就是“文檔類型定義”,裏面包含了文檔的規則,瀏覽器就根據定義的dtd來解釋你頁面的標識,並展現出來。而這一句代碼應該屬於DOCTYPE聲明(注:DOCTYPE是document type(文檔類型)的簡寫)的一部分,用來說明你用的XHTML或者HTML是什麼版本。DOCTYPE聲明還應該包括例如的代碼。一個標準的html或者xhtml都應該有DOCTYPE聲明。DOCTYPE聲明必須放在每一個XHTML文檔最頂部,在所有代碼和標識之上。xml的DOCTYPE聲明和這兩種文檔有區別。  
  加有dtd的頁面會出現部分javascript和CSS或一些頁面標籤會失效,這是因爲你編輯的html/xhtml頁面不符合這個dtd所規定的代碼標準。爲了使頁面按照你的設計顯示正確的頁面效果,所以要選擇符合你要求的dtd文檔規則。有些不添加dtd說明的頁面能正確顯示,這是因爲瀏覽器內建了一個默認的dtd申明,單獨對該瀏覽器進行了優化,所以可以正確顯示。
  根據W3C規定,頁面必須採取符合代碼規範的dtd文檔進行驗證。但是很多網頁編輯軟件都是默認添加dtd文檔,不一定符合你要編輯的文檔要求,所以必須進行手動修改。
  dtd文檔根據你採用的html/xhtml版本的不同各有區分,其中html4.01又分
Transitional (過渡型)
< DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Strict(嚴格型 )
< DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Frameset (框架型)
< DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
xhtml1.0也又這三種區分
Transitional (過渡型)
< DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Strict(嚴格型 )
< DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Frameset (框架型)
< DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
根據不同的要求還有一些別的DTD申請文檔可以選擇,具體請參考W3C網站
參考網址1
參考網址2  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章