HTML5 為什麼不直接省略標準類型聲明 !Doctype ?

一向注重簡潔的 HTML5 為什麼沒有將這裡省去?

反正每次都是輸入的都是 &


看見 HTML5 這詞兒就頭疼

業內搞的這玩意指代太寬泛了

不知道你說的是廣義還是狹義上的

也就範范說下得了

畢竟是偶拉屎時候爪機隨便答答的么

doctype 的存在只是歷史原因

從 HTML 到 XHTML 過度時候

需要有個鳥玩意來給UA標示出這玩意到底是個毛

HTML 就沒

XHTML 根據 pubicID 和 systemID 來讓UA區分是否需要UA按嚴格XHTML方式處理

但是UA才不鳥

它只根據這玩意區分怎麼渲染細節

也就是所謂的

標準渲染

近乎標準渲染

怪異渲染

三種

到HTML5時候

XHTML 基本沒人鳥了

doctype 其實可以去

但是UA認這個

得兼容HTML(4)啊

去了HTML5渲染不就逆歷史了

whatwg里各大廠商一合計

發現哈

我靠巧了

UA實現判斷doctype過程中

最後兜底的都是publicID 和 systemID沒有

光剩個 doctype html 的時候

大家都是把這個歸位給標準渲染模式

得咧

那就 留個光桿 doctype 給HTML5

完美兼容以前了就

現實就這樣了


要省略你依然可以省略,但不同的是,省略之後,瀏覽器對頁面的渲染或許各有各的看法。


你不寫,瀏覽器怎麼知道你是html5,,,


因為瀏覽器的標準其實有好多套,w3c是公認的標準,某些瀏覽器還弄了一套自己的標準,你要不寫文檔類型,瀏覽器會把你玩壞的!

瀏覽器其實只看!DOCTYPE

至於這後面都寫什麼它才不管,主體按照w3c的標準來,但是在細節上各個瀏覽器的實現還是略有不同,而你的語法就算是非標準語法,也會被自動糾正成標準語法


在html4.01中,

聲明引用DTD,因為HTML4.01基於SGML。DTD規定了標記語言的規則,這樣瀏覽器才能正確的呈現內容。

html5不基於SGMl,所以不需要引用DTD。


就像給他個變數名,後面是他的值,瀏覽器只要檢測一下變數名,就能知道是什麼文檔類型


推薦閱讀《HTML5設計原理》


如果當初純文本也約定一個&,那麼今天或許就不會出現那麼多亂碼需要處理了。

所以雖然約定大於配置,但是適當的配置可以避免太多麻煩。

現在HTML5很有自信一統天下,十年後二十年後呢?肯定還會有更新更牛的技術。


推薦閱讀:

一個數字鍵盤引發的血案——移動端H5輸入框、游標、數字鍵盤全假套件實現
opengl/webgl 可以部分重繪嗎?
推動HTML5生態發展,Gospel還能做什麼?
手把手教你擼一個跑男動畫 順便抽絲剝繭CSS3動畫奧秘
如何解剖一個網站?

TAG:HTML | HTML5 | HTML解析 | HTML5應用 |