【发布时间】:2011-04-14 02:27:57
【问题描述】:
有些 HTML 标记,例如 <img />、<input /> 和 <button />,不需要结束标记(</img>、</input> 和 </button>)。描述此类标签的术语是什么?
【问题讨论】:
-
、 或 都不是 HTML 标签。它们是 XHTML 标签。 HTML 标记在结束 > 之前永远不会有 /。 从不。
-
@Tom Anderson:更糟糕的是:根据上下文,这个 is 实际上是有效的 HTML 语法,但这并不意味着人们通常认为它的意思。
-
在 HTML 中,它被视为另一个名为“/”的属性,因此在 XHTML 中需要空格的原因是出于兼容性原因。在 XML 中,结束正斜杠之前不需要有空格。
-
@汤姆安德森。是的——在 HTML5 中,'/' 是可选的,但对 void 元素有效。 img 和 input 是无效的,所以 '/' 在那里有效。 button 不是 void 元素,因此它无效。此外,在 svg 和 mathml 元素上,“/”会导致元素像 XML 一样自动关闭。见dev.w3.org/html5/spec/syntax.html#start-tags
-
@Tom Anderson:是的,但是有很多基于 SGML 的 HTML 验证器,这可能会导致浪费很多时间盯着标记、盯着 Firebug 和盯着验证器消息,并想知道 WTF 是否存在对同一份文件的三种完全不同的解释:-)
标签: html terminology