我只是在阅读某人的 HTML,他从未在 HTML head 部分关闭 meta 和 link 标签。代码运行良好;关闭这些标签是可选的吗?
如果标签没有关闭,我认为它会格式错误。
原文由 bcollins 发布,翻译遵循 CC BY-SA 4.0 许可协议
我只是在阅读某人的 HTML,他从未在 HTML head 部分关闭 meta 和 link 标签。代码运行良好;关闭这些标签是可选的吗?
如果标签没有关闭,我认为它会格式错误。
原文由 bcollins 发布,翻译遵循 CC BY-SA 4.0 许可协议
这取决于文档类型。 HTML5 不需要关闭。 XHTML 可以。
在 HTML5 中,所谓的 void 元素(没有内容的元素)不需要关闭,因为它们是自关闭的。但是如果你关闭它们它仍然有效..
在这里阅读更多相关信息: void-elements
原文由 Sebsemillia 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答1.4k 阅读✓ 已解决
2 回答811 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答777 阅读✓ 已解决
2 回答1.3k 阅读
2 回答738 阅读
1 回答696 阅读✓ 已解决
标签 必须始终由标签关闭符号
>
关闭(如果我们忽略某些名义上适用于非 XHTML HTML 但从未在浏览器中实现的 SGML 规则)。你的意思是问 元素 是否需要用结束标签关闭。答案是非 XHTML HTML(包括 HTML 序列化中的 HTML5),
meta
和link
元素不需要或不允许结束标记。然而,实际上,浏览器只是忽略它们的显式结束标记,以及 cargo-cult/
之前>
,如果你使用它们。 HTML5 甚至通过在 HTML 序列化中正式允许/
使这种宽容成为规则。在 XHTML 中,应用 XML 规则,因此每个元素无一例外都必须同时具有开始标记和结束标记,但如果元素内容为空,则相同的标记可以用于两个角色,例如
<meta name="foo" content="bar"/>
作为<meta name="foo" content="bar"></meta>
的缩写。如果您在向兼容浏览器提供 XML (XHTML) 内容类型的文档时违反此规定,那么您的文档根本不会显示;而是显示一条错误消息。当使用具有 HTML 内容类型 (
Content-Type: text/html
) 的 XHTML 服务器时,由于 XHTML 文档几乎总是在 Web 上,因此浏览器实际上将应用非 XHTML HTML 规则。总结一下:
<meta ...>
不使用/
<meta ... />
,就照做;它没有用,但不会造成任何危害(除非您尝试针对 HTML 4.01 文档类型进行验证)。