我只是在阅读某人的 HTML,他们从未在 HTML 头部部分关闭元和链接标签。代码运行良好;关闭这些标签是可选的吗?
我认为如果标签没有关闭,它会是畸形的。
标记必须始终由标记关闭符号关闭>
(如果我们忽略某些名义上适用于非 XHTML HTML 但从未在浏览器中实现的 SGML 规则)。
您要问的是元素是否需要用结束标签关闭。答案是非 XHTML HTML(包括 HTML 序列化中的 HTML5),meta
以及link
元素不需要或不允许结束标记。然而,实际上,如果您使用它们,浏览器只会忽略它们的显式结束标签,以及/
之前的 cargo-cult。HTML5 甚至正式允许in 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 ...>
使用 no/
<meta ... />
,就写;它没有用,但不会造成任何伤害(除非您尝试验证例如针对 HTML 4.01 文档类型)。这取决于文档类型。HTML5 不需要关闭。XHTML 可以。
在 HTML5 中,所谓的 void 元素(不能有内容的元素)不需要关闭,因为它们是自关闭的。但是如果你关闭它们它仍然有效..
在此处阅读更多信息:void-elements