<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
聲明了文檔的根元素是 html,它在公共標識符被定義為 "-//W3C//DTD XHTML 1.0 Transitional//EN" 的 DTD 中進行了定義。瀏覽器將明白如何尋找匹配此公共標識符的 DTD。
如果找不到,瀏覽器將使用公共標識符后面的 URL 作為尋找 DTD 的位置。
該標簽可聲明三種 DTD 類型,分別表示嚴格版本、過渡版本以及基於框架的 HTML 文檔。
先看第一行,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
它表示聲明doctype。如果一個網頁沒有聲明doctype,它就會以默認的doctype來解析文檔所有標簽和css樣式,ff和ie的解釋標准是不一樣的,所以可能會出現誤差和問題。
語法:
html 頂級元素 可用性 注冊//組織//類型 標簽//定義 語言url
!DOCTYPE html 是文檔類型命令,命令下包含文檔的頂級元素即html,指定DTD中的頂級元素為html。
PUBLIC 文檔類型可用性,默認是公開PUBLIC,可公開訪問的對象。另還有system 系統資源,如本地文件或 url。
- 該字符表示注冊的意思,指定由國際標准化組織(iso)注冊,加號+表示注冊,減號-表示沒有注冊。W3C組織是沒有注冊的所以用減號-。
DTD XHTML 1.0 DTD定義文檔類型,類型是XHTML,版本號是1.0。
Transitional 定義:指定文檔類型定義。包含三種類型:框架型(frameset),嚴謹型(strict)和過渡型(transitional)。
EN 指文檔語言,即用於創建所引用對象的自然語言編碼系統。該語言定義已編寫為 iso 639 語言代碼(大寫兩個字母)。 en 默認。英語。
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 表示DTD規則引入的URL地址。可以下載該DTD下來看一下http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd。
***************************************************************************************************************
再看第二行:<html xmlns="http://www.w3.org/1999/xhtml">
xmlns是XHTML namespace的縮寫。名字空間,相當於文檔的一個名字。
名字空間是由xml產生的:由於xml允許自定義標簽,但你定義的標簽和其他人定義的標簽有可能相同,但表示不同的含義。當文檔交換或者共享的時候就容易產生錯誤。為避免這種錯誤產生,xml采用名字空間聲明,允許你通過一個網址來識別你的標簽。
例如:
A定義了如下xml標簽:
<document>
<name>書名</name>
<author>作者</author>
<content>目錄</content>
</document>
B定義了如下xml標簽:
<document>
<title>論文題目</title>
<author>作者</author>
<content>論文內容</content>
</document>
A和B都有content標簽,但A表示書的目錄,而B表示論文內容。所以為了區分兩個文檔的content,給各自加上一個名字空間,這樣就能正確解析它們的標簽語義了:
<document xmlns="http://www.test.com/a">
<name>書名</name>
<author>作者</author>
<content>目錄</content>
</document>
B定義了如下xml標簽:
<document xmlns="http://www.test.com/b">
<title>論文題目</title>
<author>作者</author>
<content>論文內容</content>
</document>
XHTML是HTML到xml過度的一種標記語言,它需要符合xml文檔規則,因此,也需要定義名字空間,又因為XHTML1.0不能自定義標識,所以,它的名字空間都相同,固定為:http://www.w3.org/1999/xhtml
xhtml的名字空間永遠都是固定的,不變的,考慮到xml的兼容,所以給它加上名字空間;但其實它可要可不要,有些多余,所以在html5中將名字空間刪除了