提问人:Mykhailo Seniutovych 提问时间:6/15/2020 更新时间:6/15/2020 访问量:121
为什么 XHTML 标签在 HTML5 文档中有效,反之亦然?
Why do XHTML tags work in HTML5 documents and vice versa?
问:
根据本文档,新标准不支持一些标签,例如 big 和 strike。但是,当我声明我的 html 文档时,因为它们由于某种原因仍然有效,请考虑以下示例:XHTML
HTML5
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>
反之亦然,标准中不支持许多其他标签,例如 svg 标签,但是当我声明我的文档时,它们仍然有效。请看这个例子:HTML5
XHTML
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
答:
1赞
leo848
6/15/2020
#1
在第一个示例中:
这些是所谓的已弃用标签,您仍然可以在 HTML5 中使用,但不建议使用。它们可以随时被浏览器删除(尽管这很不走运)。
第二个例子:
大多数浏览器(如 Google Chrome 或 Firefox)不会将 XHTML 呈现为 XHTML。他们实际上是用 HTML5 呈现的。XHTML 中的不同内容使用预处理器转换为 HTML5。因为SVG不是XHTML标准的一部分,所以它不会被转换,而是保持原样,因此像HTML5一样显示。
上一个:XHTML 多列文本流 div
下一个:用点填充空白区域
评论
application/xhtml+xml
text/html
!DOCTYPE
DOCTYPE