0
我們有一個最初是在2005年編寫的PHP框架,因此默認的DOCTYPE是HTML 4.01 Transitional
。HTML 5是HTML 4.01 Transitional的超集嗎?
雖然這可以被覆蓋,大多數項目(即使是近期的)並沒有改變默認的,所以大部分項目會送達文件的HTML 4
所有HTML由框架生成已被設計爲通過W3C HTML 4 Validator,大多數項目也將生成有效的HTML,因爲這是公司的要求(儘管在必要時允許例外),例如使用一些新的HTML元素,如<canvas>
,這些元素將會失敗HTML 4驗證,但哪些瀏覽器正確處理)。
我的問題:如果我簡單地將框架切換到使用現代DOCTYPE,HTML 4標記將正確驗證爲HTML 5,還是我還需要更改代碼?
第二個問題:渲染或瀏覽器支持是否會受到此更改的影響?
好點!我們包含系統標識符(「<!DOCTYPE HTML PUBLIC」 - // W3C // DTD HTML 4.01 Transitional // EN「」http://www.w3.org/TR/html4/loose.dtd「>'),所以從https://en.wikipedia.org/wiki/Quirks_mode#Comparison_of_document_types的表格看來,幾乎所有瀏覽器中的頁面都將處於「幾乎標準模式」。這可能會引起較小的渲染更改,但不會像從Quirk進入標準模式一樣大。 – HappyDog
話雖如此,Firefox中的頁面信息框顯示這些頁面是「標準合規模式」,與維基百科文章相矛盾(除非Firefox在該對話框中不區分標準和幾乎標準)。 – HappyDog
通常,標準模式和幾乎標準模式不區分。但很容易辨別哪些正在使用。將此添加到您的html'
'如果在灰色框中顯示黃色條紋,則正在使用標準模式。如果沒有黃色條紋,幾乎標準模式正在使用中。 – Alohci