HTML DOCTYPE 標籤

tg發表於2016-03-02

HTML DOCTYPE 標籤

Doctype是什麼?點選檢視詳解

  • <!DOCTYPE> 宣告幫助瀏覽器正確地顯示網頁。

  • web世界中存在著很多不同的文件,只有瞭解了文件型別,瀏覽器才能正確的顯示文件。這就是 <!DOCTYPE> 的用處。

  • <!DoCTYPE>並不是html標籤,它為瀏覽器提供一項資訊(宣告),即HTML是什麼版本編寫的。

  • 所有瀏覽器都支援 <!DOCTYPE>宣告。

例項

帶有 HTML5 DOCTYPE 的 HTML 文件:

<!doctype html>
<html>
    <head>
        <title>Title of the document</title>
    </head>
    <body>
    The content of the document......
    </body>
</html>

HTML 發展版本

從 Web 誕生早期至今,已經發展出多個 HTML 版本:

版本 年份
HTML 1991
HTML+ 1992
HTML2.0 1995
HTML3.2 1997
HTML 4.01 1999
XHTML 1.0 2000
HTML5 2012
XHTML5 2013

定義和用法

提示:請始終向 HTML 文件新增<!DOCTYPE>宣告,這樣瀏覽器才能獲知文件型別。

  • <!DOCTYPE> 宣告必須是 HTML 文件的第一行,位於<html>標籤之前

  • <!DOCTYPE> 不是html標籤,它是隻是web瀏覽器關於使用哪個HTML版本經行編寫的指令

  • 在 HTML 4.01 中,<!DOCTYPE> 宣告引用 DTD,因為 HTML 4.01 基於 SGML。DTD 規定了標記語言的規則,這樣瀏覽器才能正確地呈現內容。

  • HTML5 不基於 SGML,所以不需要引用 DTD。

HTML 4.01 與 HTML5 之間的差異
在 HTML 4.01 中有三種 <!DOCTYPE> 宣告。在 HTML5 中只有一種:

<!DOCTYPE html>

點選檢視HTML 元素表,其中列出了每種元素會出現在哪個文件型別中。

提示和註釋

  • 註釋:<!DOCTYPE> 宣告沒有結束標籤。

  • 提示:<!DOCTYPE> 宣告對大小寫不敏感。

  • 提示:請使用 W3C 的驗證器來檢查您是否編寫了有效的 HTML / XHTML 文件!

常用的 DOCTYPE 宣告

HTML5

<!DOCTYPE html>

HTML 4.01 Strict
該DTD包含所有html元素和屬性,但不包括展示性和啟用的元素(如font),不允許框架Framesets。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset
該 DTD 等同於 HTML 4.01 Transitional,但允許框架集內容。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict
該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。

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

XHTML 1.0 Frameset
該 DTD 等同於 XHTML 1.0 Transitional,但允許框架集內容。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1
該 DTD 等同於 XHTML 1.0 Strict,但允許新增模型(例如提供對東亞語系的 ruby 支援)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">