从作者/服务器的角度来看,HTML4是否与W3C HTML5向前兼容?或者,从HTML4开发人员/客户端的角度来看,W3C HTML5向后兼容HTML4吗?
我意识到直觉的答案是肯定的,但我发现这种直觉经常出现,因为几乎所有的浏览器都支持HTML4和HTML5特性。HTML5不支持一些东西,所以我可以想象,一个只支持HTML5 (没有任何其他文档类型的概念)的用户代理在HTML5 4特定的事情上会遇到一些麻烦。
因此,另一种表述问题的方法是: HTML5规范是否涵盖了HTML4涵盖的所有内容,当遇到过时的特性时,它是否要求实现以指定的、定义的或实现定义的方式降级?这些方法是否普遍被认为可以保证HTML4文档的可用性?(就像这样,不只是要求实现错误或忽略太多的事情。)
发布于 2013-11-25 15:51:02
简短的回答:不,HTML4与HTML5不兼容(从doctype定义开始)。
较长答案:http://www.w3.org/TR/html5-diff/
发布于 2013-11-25 18:40:16
HTML5规范是否涵盖了HTML4涵盖的所有内容,当遇到过时的特性时,是否要求实现以指定的、定义的或实现定义的方式降级?
基本上,是的。涵盖了HTML4所需的所有内容,以及所有以前的版本,甚至包括<xmp>和<plaintext>之类的异乎寻常的东西。
当前的浏览器实际上并不支持HTML4,它们将HTML4文档解释为具有不同水平的向后兼容性怪癖的HTML5。
有几种文档模式,例如古怪/几乎标准/标准和HTML/XML模式,但HTML 4/HTML 5线没有划分(例如,完全严格的HTML5处理方式与适当的HTML5相同)。即使您给文档HTML2.0贴上标签,<video>也会工作,即使您使用HTML5 DOCTYPE,<isindex>也会工作。
尽管HTML5使某些HTML4元素不一致,但它仍然定义了它们,并且仍然需要浏览器来支持它们(作者的HTML5需求与浏览器供应商的HTML5需求不同):
http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html
HTML5的目的是完全向后兼容HTML 4作为网络上使用,并故意忽略理论方面的HTML4规范,例如,它更兼容IE6的HTML标记汤解析器,而不是SGML语法HTML4是应该有-因为这是大多数网站实际上是兼容的。
https://stackoverflow.com/questions/20197132
复制相似问题