根据 本文件 有一些 XHTML
的标签,而这些标签在新的 HTML5
标准,例如 大 和 罢工. 然而,当我声明我的html文档为 HTML5
他们仍然出于某种原因工作,考虑这个例子。
<!DOCTYPE html /> <!-- HTML5 decalration -->
<html>
<head>
</head>
<body>
<!-- These tags should not work, because the document is declared as HTML5, but they still work -->
<big>Hello</big>
<strike>123</strike>
</body>
</html>
反之亦然,还有很多其他的例子 HTML5
中不支持的标签。XHTML
标准,例如 svg 标签,但是当我把我的文档声明为 XHTML
它们仍然有效。考虑这个例子。
<!-- XHTML declaration -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
</head>
<body>
<!-- Should not work because SVG are not supported in XHTML standard -->
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
</body>
</html>
我使用的浏览器是当前版本的 Google Chrome
.谁能解释一下为什么会出现这种情况?将文档声明为----------------------是什么意思?HTML5
或 XHTML
如果浏览器无论如何都会支持 DOCTYPE
指定?
在第一个例子中。
这些是所谓的 弃用 标签,你 可以 仍在HTML5中使用,但不建议使用。它们随时可能被浏览器删除(虽然这很不吉利)。
第二个例子。
大多数浏览器,如Google Chrome或Firefox,并没有将XHTML渲染成XHTML。它们实际上是用HTML5渲染的。在XHTML中不同的东西会用一个预处理器转换为HTML5。因为SVG不是XHTML标准的一部分,所以它不会被转换,只是保持原样,从而像在HTML5中一样显示。