迷路结束标签img

时间:2014-06-09 08:38:50

标签: html html5 user-interface markup w3c-validation

通过W3C验证器服务验证标记时,会出现以下错误

  

迷路结束标签img

代码如下所示

<a title="text" href="url">
<img class="text" src="imgSrc" alt="Text"></img>
</a>

这意味着什么?我们怎么能避免呢?

3 个答案:

答案 0 :(得分:12)

如果您的文档符合XHTML,则必须使用img关闭<img src="image.jpg"/>代码,而不是<img>...</img>

如果您的文档符合HTML5标准,那么您不需要/>部分,只需使用<img src="image.jpg">

如果您想知道该文档应该符合XHTML或HTML5的含义 - 这是HTML页面的第一行,即所谓的document type definition

HTML5和

<!DOCTYPE HTML>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">适用于XHTML 1.0 Transitional

注意: <!DOCTYPE>声明是必需的(如果您希望您的网页使用HTML验证程序验证),并且应该始终是HTML文档中的第一件事。

注意:虽然功能性网页在技术上不需要文档类型定义,但最好始终将其包含在代码中。在学习构建网页时,养成在代码中始终包含文档类型定义的习惯。

更多阅读:

答案 1 :(得分:3)

基本上,这意味着您应该移除</img>,因为<img>标记不需要它:

<img class="text" src="imgSrc" alt="Text">

或者,仅供参考,还有XHTML“关闭”标签的方式:

<img class="text" src="imgSrc" alt="Text" />

答案 2 :(得分:2)

因此,“Stray end tag ...”意味着在它出现的上下文中不允许使用结束标记。正如验证器的解释所说:“验证器找到了上述元素的结束标记,但该元素当前未打开。这通常是由编辑期间删除的元素中的剩余结束标记引起的,或者是由隐式关闭的元素引起的(如果您在不允许的情况下使用与正在使用的元素相关的错误,则几乎可以肯定这种情况)。在后一种情况下,一旦修复原始问题,此错误就会消失。“

根据症状(错误消息字符串),我们可以推断您在HTML序列化中验证HTML5。这意味着img元素不允许使用结束标记,因为开始标记也被视为关闭元素(“隐式关闭元素”)。

因此,解决方案是删除</img>标记或在XHTML序列化中对HTML5进行验证。后者对于网页不实用,但如果您使用HTML进行其他操作,则应通过URL进行验证,引用以XML内容类型提供的资源。