【问题标题】:HTML5: Inclusion/Omission of closing in <input> or <p>HTML5:在 <input> 或 <p> 中包含/省略关闭
【发布时间】:2019-03-25 03:23:17
【问题描述】:

在 HTML5 中,可以接受或不接受在 &lt;input&gt;&lt;p&gt; 中包含/省略结束标记。

这怎么可能?为什么?

【问题讨论】:

标签: html tags html-input


【解决方案1】:

您几乎可以在任何地方关闭结束标记,但不建议这样做,代码将无法正常工作。在某些情况下,例如 img、input、meta、link 等,您不需要添加结束标签,因为您没有在标签之间输入任何文本(并非在所有情况下)。

【讨论】:

  • "不推荐" — 否。输入元素的结束标签是禁止的,必须省略。 p 元素的结束标记是可选的。省略它并没有错。 “代码不能正常工作”——不。所有浏览器都一致支持关于可选和禁止结束标记的 HTML 规则。
  • 是一个结束标签,解释起来更快
  • 它不是结束标签。在 HTML 5 中,它是一个开始标签,末尾带有一个毫无意义的 /。在旧版本的 HTML 中,它是一个开始标记,后跟一个 &gt; 字符,浏览器应该呈现该字符(当前浏览器没有这样做,因为它们与 HTML 5 解析规则对齐)。在 XHTML 中,它是一个自闭合标签。它根本不是结束标签。
【解决方案2】:

在 HTML5 中,可以接受或不接受在 &lt;input&gt;&lt;p&gt; 中包含/省略结束标记。

没有。虽然&lt;p&gt; 元素的结束标记是可选,但&lt;input&gt; 的结束标记是被禁止的。不得包括在内。 (虽然浏览器非常擅长错误恢复)。

怎么可能

HTML 就是这样设计的。

因此,解析 HTML 的工具支持它。

为什么?

从最早的 HTML 版本开始就是这样。

我从未见过对决策过程的解释,但其中一些好处包括:

  • 打字更快
  • (有争议)更容易阅读
  • 更少的字节(考虑到 90 年代的互联网连接速度,这一点更为重要)

【讨论】:

猜你喜欢
  • 2019-06-28
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 2012-06-30
  • 2014-07-13
  • 2015-09-17
  • 2015-11-16
  • 2011-09-05
相关资源
最近更新 更多