需要关闭HTML中的meta和link标签吗?

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

我刚刚读了某人的 HTML,他从未在 HTML head 部分关闭元标记和链接标记。代码运行良好;关闭这些标签是可选的吗?

我认为如果标签没有关闭,它会是畸形的。

html xhtml
4个回答
214
投票

A tag 必须始终由标签关闭符号

>
关闭(如果我们忽略名义上适用于非 XHTML HTML 但从未在浏览器中实现的某些 SGML 规则)。

您的意思是问的是elements是否需要用结束标签关闭。答案是非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 文档几乎总是在网络上,因此浏览器实际上将应用非 XHTML HTML 规则。

总结一下:

  • 通常,仅使用
    <meta ...>
    ,不使用
    /
  • 如果您确实在实际应用 XHTML 解析的上下文中使用 XHTML,请遵循 XML 规则(并确保您了解它们)
  • 如果你的老板让你写
    <meta ... />
    ,那就写;它没有用,但不会造成任何损害(除非您尝试根据 HTML 4.01 文档类型进行验证)。

41
投票

这取决于文档类型。 HTML5不需要关闭。 XHTML 可以。

在 HTML5 中,所谓的 void 元素(不能有内容的元素)不需要关闭,因为它们是自关闭的。但如果你关闭它们仍然有效..

在这里阅读更多相关信息:void-elements


-1
投票

在HTML中,一般需要关闭meta标签,但不需要关闭link标签。

元标记通常提供有关 HTML 文档的元数据,并且它们是自闭合标记,这意味着它们没有闭合标记。例如:

<meta charset="UTF-8">
<meta name="description" content="This is a description">

对于链接标签,它们用于链接样式表等外部资源,并且也是自关闭的。例如:

<link rel="stylesheet" type="text/css" href="styles.css">

在这两种情况下,不需要结束标签,因为这些标签是独立的并且不包含任何内容。它们的目的是提供信息或参考外部资源,因此它们没有相应的结束标签。


-2
投票

元标签通常用这个结束标签>而不是/>来关闭 比如

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