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