任何 HTML 文件都必須以文件類型聲明(Document Type Declaration),簡稱 Doctype,開頭,該聲明告訴瀏覽器該頁面使用的 HTML 版本。
任何 HTML 文件都必須在第一行開始以 文件類型聲明 (簡稱doctype)開始,該聲明告訴瀏覽器該頁面使用的 HTML 版本。
這個文件類型聲明(不區分大小寫):
<!DOCTYPE html>
告訴瀏覽器這是一個 HTML5 文件。
瀏覽器渲染模式
有了這個聲明,瀏覽器可以以標準模式來呈現文件。
如果沒有它,瀏覽器將以怪異模式來呈現頁面。
如果你聽過怪異模式,你必須知道瀏覽器引入這種渲染模式是為了使以「舊風格」編寫的頁面與使用的新功能和標準兼容。如果沒有它,隨著瀏覽器和 HTML 的發展,舊的頁面將破壞其外觀,而網絡平台在這方面一直非常保護(這是我認為其成功的一部分)。
瀏覽器基本上在未識別頁面為標準模式的情況下默認使用怪異模式。
你希望使用標準模式,並且
<!DOCTYPE html>
是實現它的方法。
對於 Internet Explorer <= 10 的使用者,還需要額外注意避免怪異模式,方法是在頁面的 <head>
標籤中,在加載任何腳本之前,插入以下內容:
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
舊的 HTML 版本
HTML 有一套奇怪的版本:
- HTML(1991)
- HTML 2.0(1995)
- HTML 3.2(1997)
- HTML 4.01(1999)
- XHTML(2000)
- HTML5(2014)
HTML 4.01 Strict 文件的文件類型聲明為:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
XHTML 類似:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
它們需要一個 文件類型定義(Document Type Definition,DTD),因為這些舊的 HTML 版本是基於 SGML,一種定義文檔結構的格式。
XHTML 也需要 html
標籤具有命名空間,例如:
<html xmlns="http://www.w3.org/1999/xhtml">
這些文件類型聲明總是要求你保存 DTD 聲明的位置,因為幾乎不可能記住它。而且,嚴格模式或過渡模式(比較寬鬆)需要使用不同的 DTD。
XHTML 是一種 XML 語言,而 HTML4(和更低版本)是 SGML 應用程序。現在的 HTML,HTML5,受到了 HTML4 很大的啟發,但它不是一個 SGML 應用程序,並且放棄了許多 XHTML 的嚴格規則。
HTML5 不是基於 SGML 的,而是基於自己的標準,因此不需要 DTD,我們可以從以下簡單的聲明中受益:
<!DOCTYPE html>