【发布时间】:2011-04-03 06:06:55
【问题描述】:
W3C validator (Wikipedia) 不喜欢 non-void 元素上的自闭合标签(以“/>”结尾的标签)。 (Void elements 可能永远不会包含任何内容。)它们在 HTML5 中仍然有效吗?
接受 void 元素的一些例子:
<br />
<img src="" />
<input type="text" name="username" />
拒绝非空元素的一些例子:
<div id="myDiv" />
<span id="mySpan" />
<textarea id="someTextMessage" />
注意: W3C 验证器实际上接受 void 自闭合标签:作者最初遇到问题是因为一个简单的拼写错误(
\> 而不是/>);但是,一般来说,自关闭标签在 HTML5 中并不是 100% 有效,并且答案详细说明了跨各种 HTML 风格的自关闭标签的问题。
【问题讨论】:
-
@Ben:哦,对不起,我认为你是对的。在这种情况下,我误解了最初的问题,我认为 OP 想知道自闭标签在 HTML5 中是否有效。但这意味着他只是在代码中打错字,或者他不知道如何适当地编写自闭合标签,这是有道理的,W3C 验证器将他的代码标记为无效。
-
为以后的读者节省时间:是的,问题中的语法不正确,不,您不应该更改它。 OP 有explicitly and justifiably explained why。由于它引起了提示此问题的验证错误,因此不应更正语法。
-
你们还在为斜线应该朝向哪个方向而还在争论不休吗?来吧。
-
@BoltClock 是的,还在战斗。伙计们:如果这个问题是关于
\>,它应该作为一个无用的修复我的错字问题关闭。答案全部地址/>。/>版本是唯一有用的版本。顺其自然吧。 -
那么问题必须改写,因为 W3C 验证器实际上接受自闭合标签。很难以这种方式改写问题而不损害其在原始意图方面的完整性。因此,如果我们想遵守 SO 的规则,我们可能不得不牺牲诸如此类的问题的清晰度,即使看起来编辑问题是唯一明智的做法,为了更大的利益平均的。如果有很多其他问题类似的问题,我们可以开始另一个关于元的讨论。
标签: html syntax w3c-validation