當你打開任何一個現代網頁的原始碼,第一行映入眼簾的通常都是 <!DOCTYPE html>。對於初學者來說,這行代碼看起來既不像標籤,也沒有內容,但它卻是確保網頁能正確顯示的「定海神針」。

一、 它到底是什麼?
首先要釐清一個常見的誤解:<!DOCTYPE html> 並不是一個 HTML 標籤 (Tag)。
它被稱為「文件型別宣告」(Document Type Declaration,簡稱 DTD)。它的本質是一條給瀏覽器的指令,告訴瀏覽器:「嘿!接下來這份文件是按照這套規則來寫的,請你用正確的方式讀取它。」
二、 為什麼我們需要它?
這要追溯到 1990 年代網頁發展的「大混亂時期」。
1. 網頁標準的演進
在 HTML5 出現之前,網頁標準非常嚴苛且複雜。當時的版本(如 HTML 4.01 或 XHTML 1.0)要求 DOCTYPE 必須包含長長的一串 URL,連結到特定的規範檔案(DTD)。
2. 怪異模式 (Quirks Mode) vs. 標準模式 (Standard Mode)
為了兼容那些在標準制定之前就存在的舊網頁,瀏覽器開發者設計了兩種讀取模式:
- 怪異模式 (Quirks Mode):如果網頁沒有寫
<!DOCTYPE>,瀏覽器會假設這是「老古董網頁」,並模擬 90 年代舊版瀏覽器的非標準行為(例如 IE5 的排版邏輯)。這會導致網頁在不同瀏覽器上看起來完全不一樣。 - 標準模式 (Standard Mode):如果偵測到正確的
<!DOCTYPE>,瀏覽器就會切換到最現代、效能最好、且符合 W3C 國際標準的方式來顯示網頁。
結論:寫這行字,是為了強迫瀏覽器進入「標準模式」,確保你的樣式 (CSS) 不會跑版。
三、 HTML5 的革新:簡約之美
如果你看過以前(HTML 4.01)的宣告,會長得像這樣: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
這串文字非常難記且容易出錯。到了 HTML5,標準制定者意識到:既然我們現在都追求統一樣準,為什麼不把指令簡化到極致呢?
於是,現在我們只需要寫:
<!DOCTYPE html>
這行宣告不分大小寫(你寫 <!doctype HTML> 也可以,但業界習慣全部大寫),它代表的是「現代網頁標準」,而且永遠向後兼容。
四、 撰寫時的四大禁忌
- 不可漏寫:漏寫會讓瀏覽器陷入怪異模式,導致 CSS 效果失效或佈局混亂。
- 不可放在第二行:它必須出現在文件的最頂端,連空格或空行都盡量不要放在它前面。
- 一個網頁只能有一個:它宣告的是整份文件的屬性,不需要重複宣告。
- 不需要結束標籤:再次強調它不是 HTML 元素,所以不需要寫
</!DOCTYPE>。
五、 總結
<!DOCTYPE html> 雖然簡短,卻是現代 Web 開發的基石。它標示了網頁標準化的勝利,讓開發者不再需要為每一種瀏覽器的特殊脾氣寫不同的代碼。
作為工程師,寫下這一行的那一刻,你就在告訴全世界:「我寫的是符合現代規範、具備專業水準的網頁。」
























