詳解" type="hidden"/>

詳解


每次寫html頁面開頭基本都會加上這么兩行:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">

***************************************************************************************************************

先看第一行,<!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中將名字空間刪除了。

 

***************************************************************************************************************

更多詳細信息可參考該網頁:http://www.ynpxrz.com/n875806c2029.aspx

內容如下:

在 默認情況下,ff和ie的解釋標准是不一樣的,也就是說,如果一個網頁沒有聲明doctype,它就會以默認的doctype解釋下面的html。在同 一種標准下,不同瀏覽器的解釋模型都有所差異,如果聲明標准不同,不用我說,您自己想就可以了。學習網頁標准,瀏覽器兼容,從哪里開始您自己決定,但是, 請認識doctype:

一、什么是doctype

doctype是document type(文檔類型)的簡寫,在頁面中,用來指定頁面所使用的xhtml(或者html)的版本。要想制作符合標准的頁面,一個必不可少的關鍵組成部分就 是doctype聲明。只有確定了一個正確的doctype,xhtml里的標識和css才能正常生效。

二、doctype的規則

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

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

以下是從手冊上摘抄的規則:

語法:

html 頂級元素 可用性 注冊//組織//類型 標簽//定義 語言url

可能值:

- 頂級元素:指定 dtd 中聲明的頂級元素類型。這與聲明的 sgml 文檔類型相對應。 html 默認。html。

- 可用性:指定正式公開標識符(fpi)是可公開訪問的對象還是系統資源。 public 默認。可公開訪問的對象。system 系統資源,如本地文件或 url。

- 注冊:指定組織是否由國際標准化組織(iso)注冊。 + 默認。組織名稱已注冊。

- 組織名稱未注冊。internet 工程任務組(ietf)和萬維網協會(w3c)並非注冊的 iso 組織。

組織:指定表明負責由 !doctype 聲明引用的 dtd 的創建和維護的團體或組織的名稱,即 ownderid。 ietf ietf。 w3c w3c。

- 類型:指定公開文本類,即所引用的對象類型。 dtd 默認。dtd。

- 標簽:指定公開文本描述,即對所引用的公開文本的唯一描述性名稱。后面可附帶版本號。 html 默認。html。

- 定義:指定文檔類型定義。

  frameset 框架集文檔。

  strict 排除所有 w3c 專家希望逐步淘汰的代表性屬性和元素,因為樣式表已經很完善了。

  transitional 包含除 frameset 元素的全部內容。

- 語言:指定公開文本語言,即用於創建所引用對象的自然語言編碼系統。該語言定義已編寫為 iso 639 語言代碼(大寫兩個字母)。 en 默認。英語。

- url:指定所引用對象的位置

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

三、選擇什么樣的doctype

如上例所示,xhtml 1.0中有3種dtd(文檔類型定義)聲明可以選擇:過渡的(transitional)、嚴格的(strict)和框架的(frameset)。這里分別介紹如下。

1.過渡的

一種要求不很嚴格的dtd,允許在頁面中使用html4.01的標識(符合xhtml語法標准)。過渡的dtd的寫法如下:

代碼如下:

<!doctype html public -//w3c//dtd xhtml 1.0 transitional//en

2.嚴格的

一種要求嚴格的dtd,不允許使用任何表現層的標識和屬性,例如<br/>等。嚴格的dtd的寫法如下:

代碼如下:

<!doctype html public -//w3c//dtd xhtml 1.0 strict//en

>

3.框架的

一種專門針對框架頁面所使用的dtd,當頁面中含有框架元素時,就要采用這種dtd。框架的dtd的寫法如下:

代碼如下:

<!doctype html public -//w3c//dtd xhtml 1.0 transitional//en

>

使用嚴格的dtd來制作頁面,當然是最理想的方式。但是,對於沒有深入了解web標准的網頁設計者,比較合適的是使用過渡的dtd。因為這種dtd還允許使用表現層的標識、元素和屬性,比較適合大多數網頁制作人員。

四、需要注意的問題

沒什么特別的,就是一定要將doctype聲明放在xhtml文檔的頂部,上面哪怕多個html注釋標記都不行。

最好示例代碼也加上doctype,否則效果會有差異。

更多信息請查看IT技術專欄

更多信息請查看技術文章

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM