我們在html文件書寫中,在開頭總會新增一句,我們大概粗略的知道這是用來標識文件型別的。而在老版本的html中,如html4規範中,需要寫:
">但這樣的語句很難記憶,它想告訴瀏覽器「這個文件是xhtml1.0的文件」,在html5中簡化了規範。
但是,只是看到這個doctype,可能不知道到底要怎麼告訴瀏覽器具體的資訊,所以這到底該怎麼解釋?
其實這個doctype並不是寫給瀏覽器看的,而是給驗證器,我們在開頭寫下xhtml1.0是為了讓驗證器按照這個來驗證文件。
而對瀏覽器來說,什麼版本都無所謂,瀏覽器不會因為某個標籤不存在某個版本的規範中而不被解析,因為瀏覽器遵守伯斯塔爾法則——「對自己嚴格,對別人寬容」,所以瀏覽器會支援所有版本的html,會盡量讓我們任性,所以這就是為什麼我們書寫的html很多並不規範,但任然不影響它們在網頁中被正常解析(但為了養成乙個良好的習慣,我們也應該嚴格要求自己)。話再說回來,驗證器會在意這個格式型別,這就是doctype存在的原因。
html5 不基於 sgml,所以不需要引用 dtd。html5的乙個設計原理,就是要求它前後相容,以往的將來的都應該相容,因此把乙個版本號放在doctype裡面沒有多大的意義,對驗證器也一樣。在 html 4.01 中, 宣告引用 dtd,因為 html 4.01 基於 sgml。dtd 規定了標記語言的規則,這樣瀏覽器才能正確地呈現內容。
sgml:標準通用標記語言。
但是也不是說doctype完全可以不用存在。當初微軟在引入css的時候,它的瀏覽器率先支援了css,也推出了自己的盒子模型標準。但是標準發布後,兩種盒子模型截然不同。微軟希望支援標準,也希望能保留自己的東西,所以就利用了doctype。在文件中加入doctype就表示觸發標準模式。但是這不是doctype發明的本意。
總之,html5希望給使用者乙個簡短的doctype標籤。
《html5 從入門到精通》讀書筆記(三)
標籤 描述 4 5 定義表單。4 5 to 定義標題1到標題6。45 定義關於文件的資訊,45 定義section或page的頁首。5定義有關文件中的section的資訊。5定義水平線。45 定義html文件。45 定義斜體文字。45 定義行內的子視窗 框架 45 定義影象 45 定義輸入域。45 ...
《html5 從入門到精通》讀書筆記(二)
接著上面繼續記錄筆記,這次要記的知識點比較多。記錄下我認為比較重要的東西。1.autocomplete屬性 該屬性規定form或input域應該擁有自動完成功能。form id user form action method get autocomplete on e mail input type...
html讀書筆記
1.什麼是 html 檔案?2.html 元素 html 文件是由 html 元素構成的文字檔案。html 元素是通過使用 html 標籤進行定義的。3.html 標籤 4.基本的 html 標籤 標籤描述 定義粗體文字。定義大號字。定義著重文字。定義斜體字。定義小號字。定義加重語氣。定義下標字。定...