为什么XHTML标签可以在HTML5文档中使用,反之亦然?

问题描述 投票:0回答:1

根据 本文件 有一些 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.谁能解释一下为什么会出现这种情况?将文档声明为----------------------是什么意思?HTML5XHTML 如果浏览器无论如何都会支持 DOCTYPE 指定?

html xhtml doctype web-frontend html4
1个回答
1
投票

在第一个例子中。

这些是所谓的 弃用 标签,你 可以 仍在HTML5中使用,但不建议使用。它们随时可能被浏览器删除(虽然这很不吉利)。

第二个例子。

大多数浏览器,如Google Chrome或Firefox,并没有将XHTML渲染成XHTML。它们实际上是用HTML5渲染的。在XHTML中不同的东西会用一个预处理器转换为HTML5。因为SVG不是XHTML标准的一部分,所以它不会被转换,只是保持原样,从而像在HTML5中一样显示。

© www.soinside.com 2019 - 2024. All rights reserved.