HTML5:收尾的包含/省略<;输入>;或<;p>;

HTML5:收尾的包含/省略<;输入>;或<;p>;,html,tags,html-input,Html,Tags,Html Input,在HTML5中,可以接受或不接受在和中包含/省略结束标记 这是怎么可能的?为什么?您几乎可以在任何地方取消结束标记,但不建议这样做,因为代码不能正常工作。在某些情况下,如img、input、meta、link等,您不需要添加结束标记,因为您没有在标记之间输入任何文本(并非在所有情况下) 在HTML5中,可以接受或不接受在和中包含/省略结束标记 不可以。虽然元素的结束标记是可选的,但是的结束标记是禁止的。它决不能包括在内。(尽管浏览器在错误恢复方面非常出色) 怎么可能呢 HTML就是这样设计的 因

在HTML5中,可以接受或不接受在
中包含/省略结束标记


这是怎么可能的?为什么?

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

在HTML5中,可以接受或不接受在
中包含/省略结束标记

不可以。虽然
元素的结束标记是可选的,但是
的结束标记是禁止的。它决不能包括在内。(尽管浏览器在错误恢复方面非常出色)

怎么可能呢

HTML就是这样设计的

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

为什么

从最早的HTML版本开始,情况就是这样

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

  • 打字更快
  • (有争议的)更容易阅读
  • 较少的字节(在考虑90年代的Internet连接速度时更重要)
“不建议”-不建议。禁止输入元素的结束标记,必须省略。p元素的结束标记是可选的。省略它没有什么错。“代码不能正常工作”-不。所有浏览器都一致支持关于可选和禁止的结束标记的HTML规则。是结束标记,可以更快地解释它不是结束标记。在HTML5中,它是一个开始标记,末尾有一个无意义的
/
。在旧版本的HTML中,它是一个开始标记,后跟浏览器应该呈现的
字符(当前浏览器没有这样做,因为它们与HTML5解析规则对齐)。在XHTML中,它是一个自动关闭标记。它根本不是结束标记。请参阅和,它将描述为“段落标记”。有关元素,请参阅