【问题标题】:Do you need to close meta and link tags in HTML?您需要关闭 HTML 中的元和链接标签吗?
【发布时间】:2013-10-30 14:59:11
【问题描述】:

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

我认为如果不关闭标签会导致格式错误。

【问题讨论】:

标签: html xhtml


【解决方案1】:

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

你要问的是元素是否需要用结束标签来关闭。答案是非 XHTML HTML(包括 HTML 序列化中的 HTML5),metalink 元素不需要或不允许结束标记。然而,在实践中,浏览器只是忽略它们的显式结束标签,以及 > 之前的货物崇拜 /,如果你使用它们的话。 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 ...>,不使用/
  • 如果您确实在实际应用 XHTML 解析的上下文中使用 XHTML,请遵守 XML 规则(并确保您了解它们)
  • 如果你的老板让你写<meta ... />,照做;它没用,但不会造成任何伤害(除非您尝试验证,例如针对 HTML 4.01 文档类型)。

【讨论】:

  • 使用 /> 导致 google bot 无法识别元机器人标签的问题。奇怪!!!
  • 我发现“货物崇拜”一词在这种情况下不合适。有些人关闭了这些元素,仅​​仅是因为它们压制了 XHTML 没有流行。
  • 学究警告! “Cargo cult”在正常实践中不会连字符,但仅在将整个短语用作其他事物的形容词时(即“cargo-cult programming”、“cargo-cult / before >”)。只是想我会澄清一下,以免让互联网变得更加混乱。 </pedant_alert> :)
  • @DevZer0 - 你确定斜线是原因吗?我希望 Google 能够灵活处理此类事情。
  • 使您的 HTML 与 XHTML 规则保持一致不是在 > 之前包含 / 的理由吗?
【解决方案2】:

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

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

在此处了解更多信息:void-elements

【讨论】:

  • HTML5 有两种序列化,其中一种(XHTML 序列化)强制结束标记。
猜你喜欢
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 2012-04-30
  • 2013-05-13
  • 2011-07-25
  • 1970-01-01
  • 2011-11-14
  • 2023-03-13
相关资源
最近更新 更多