中國的設計師們終於開始向符合標准的網頁設計過渡了,現在我們打開一個網站,分析它的源代碼,首先第一行就是< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,很多人習慣了這種代碼,可是還有很多人不知道這段代碼是什麼意思。
這段代碼我們稱之為DOCTYPE聲明。DOCTYPE是document type(即文檔類型)的縮寫,用來說明你用的XHTML或者HTML是什麼版本。其中的DTD(例如xhtml1-transitional.dtd)叫文檔類型定義,裡面包含了文檔的規則,浏覽器就根據你定義的DTD來解釋你頁面的標識,並展現出來。DOCTYPE聲明在網頁設計中不是必須的,可是要建立符合標准的網頁,這一段聲明又是必不可少的組成部分。不過這段聲明加上之後,很可能在IE4.0和Netscape 4.0中顯示不正常,不過我先現在還在使用IE4.0的人,1萬人中也找不出一個了。
現在已經是xhtml 1.0時代了,html 4.0已經過去,現在構件網站都使用主流的xhtml 1.0。那麼xhtml 1.0的DTD聲明有幾種呢?分別代表什麼意思?
首先看這一段代碼< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。這是transitional XHTML 1.0 文檔,它允許作者使用所反對的和當前的方法,也就是允許你繼續使用html4.0的標識,但是其中的html4.0文檔必須符合xhtml的寫法。Transitional是過渡的意思,這是一種非常寬松的DTD。
下面來看第二段代碼:< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">。Strict 遵循最嚴格的XHTML規則,在以該類型編寫的文檔中,不允許出現HTML 4.0所反對的元素,比如< br>這個標識,就是不允許出現的。Strict是嚴格的意思,這是一種要求非常嚴格的DTD。
再來看第三段代碼:< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">。Frameset是專門針對框架頁面設計使用的DTD,如果你的頁面中包含有框架,需要采用這種DTD。符合該DTD的frameset文檔可以使用strict或transitional標記。
關於< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">這種聲明,就不用再重復了,可以根據針對XHTML 1.0的DOCTYPE聲明原理來理解這些聲明是什麼意思。