HTML DOCTYPE 檔案類型聲明
在 HTML 文件最開頭的第一行,一定要寫上這一段 DOCTYPE:
<!DOCTYPE html>
本質上 DOCTYPE 不是一個 HTML 標籤,宣告 DOCTYPE 的用意是用來告訴瀏覽器 (browser) 這一份文件是屬於什麼文件類型 (Document Type Declaration, DTD),現代網頁的 DOCTYPE 基本上都是用 <!DOCTYPE html>
來表示這是一份標準的 HTML5 文件。
沒宣告 DOCTYPE 或是宣告一個錯誤的 DOCTYPE,會造成瀏覽器無法預期的行為,像是渲染 (render) CSS 排版時怎麼和你想要的不太一樣,稱之為瀏覽器處於怪異模式 (Quirks mode) 下。
順便也來介紹一些舊時代常見的 DOCTYPE,你可能還會在一些網頁中看見這些寫法:
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">