2013-12-11 31 views
2

我在我的网页中使用了video元素,但DOCTYPE是HTML4。是否可以使用HTML5元素与旧的HTML4?

然后,我也可以在HTML5中使用frameset

为什么对标签的使用没有限制?

+0

视频标签是一个HTML5功能。它在HTML4.01 doctype页面中工作。我在谷歌浏览器中进行了测试 – Natesan

回答

4

HTML旨在容忍错误。使用特定的doctype不会使浏览器拒绝发布doctype时不在其周围的标签。

这就是为什么当前的HTML文档类型只是<!DOCTYPE html>,即未版本控制。它更准确地反映了HTML作为一个不断发展的标准。

2

为什么没有标签使用限制?

为什么要浏览器确保?如果所有浏览器只显示有效的HTML,太好了!但之后有一个浏览器出现并说:“哦,我的用户无法查看所有这些无效的网站,但其中一些会非常有用......无论如何,让我向他们展示这些网站!”现在这款浏览器可以与其他浏览器的网站一起使用。你可以打赌其他浏览器会做什么。

此外,支持HTML5的用户代理无法真正知道页面是否位于HTML 4.01或HTML5中,因为HTML 4.01 DOCTYPE在HTML5中为“obsolete permitted DOCTYPE string”。这意味着:即使您使用HTML 4.01 DOCTYPE,这些浏览器也可能会根据HTML5解释您的页面。

为什么HTML5中“过时”的HTML4元素在HTML5文档中工作?因为HTML5用户代理必须支持它们(但作者不能使用它们):请参见HTML5规范中的Frames,该规范定义了用户代理应该使用的frameset

1

doctype声明是旧的,只是提示浏览器如何解析页面内容。从HTML5开始,这被删除,并替换为一个简单的通用<!doctype html>,该标准对于所有当前和未来版本的标准都是相同的,因为HTML现在已经足够向后兼容以允许渐进式开发。

长话短说,现代浏览器现在使用的文档类型是决定是否解析'tag soup'或'quirks'模式或'标准兼容模式'。它随后发现的解析器支持的元素与doctype无关。

相关问题