(非无效)自动关闭标记在HTML5中有效吗?
W3C验证不喜欢自闭合标签(那些一端与“/>
上“)非空元素。(无效元素是可能永远不包含任何内容的元素。)它们在HTML5中仍然有效吗?
可接受的 void元素的一些示例:
<br /><img src="" />
<input type="text" name="username" />
被拒绝的 非空元素的一些示例:
<div id="myDiv" /><span id="mySpan" />
<textarea id="someTextMessage" />
W3C验证器实际上接受无效的自动关闭标签:最初由于简单的错字 (\>
不是/>
), 作者遇到了问题 ;
但是,自关闭标签在HTML5中通常不是100%有效的,答案详细说明了各种HTML风格的自关闭标签。
回答:
在 ,
<foo/
(是,完全没有>
)意味着<foo>
(导致<br/>
含义<br>>
(即<br>>
)和<title/hello/
意义<title>hello</title>
)。这是一条 规则,浏览器在支持方面做得很差,并且该规范建议作者避免使用语法。在 ,
<foo />
是指<foo></foo>
。这是一条适用于所有XML文档的 规则。也就是说,XHTML通常用作text/html
(至少在历史上)由浏览器使用与用作文档的解析器不同的解析器来处理的HTMLapplication/xhtml+xml
。W3C提供了XHTML遵循的[兼容性指南text/html
。(本质上:仅当元素定义为EMPTY时才使用自闭标签语法(并且HTML规范中禁止使用结束标签))。在 ,的含义
<foo />
取决于元素的类型。- 在被指定为 _void元素的HTML元素上(本质上是“在HTML5之前存在并且被禁止包含任何内容的元素”),最终标签被简单地禁止了。在开始标记末尾的斜杠是允许的,但没有任何意义。对于仅沉迷于XML的人员(和语法突出显示)来说,它只是语法糖。
- 在其他HTML元素上,斜杠是一个错误,但是错误恢复将导致浏览器将其忽略,并将该标记视为常规的开始标记。这通常会导致缺少结束标签,导致后续元素成为子元素而不是兄弟元素。
- 外部元素(从SVG等XML应用程序导入)将其视为自动关闭语法。
以上是 (非无效)自动关闭标记在HTML5中有效吗? 的全部内容, 来源链接: utcz.com/qa/408609.html