我遇到了这个页面https://www.google.com/accounts/ServiceLogin,这是一个Google服务登录页面(除了省略doctype之外),包含6个</img>
实例
例如,
<img src="https://www.google.com/accounts/google_transparent.gif"
alt="Google">
</img>
为什么他们会这样做?他们可能实现了哪些好处/功能/祖父?
我读过的关于HTML和XHTML的任何内容都让它变得非常不相同:
在HTML 4.01及之前版本中,<img>
代码为never to be closed(<img src="img.gif" alt="text" >
)。
在XHTML中,<img>
标签将使用自动关闭语法(<img src='img.gif' alt="text" />
)
在HTML5中,(我的理解是)语法(开放或自闭)是可以接受的,但仍然不是</img>
。
答案 0 :(得分:2)
我会说这是一个错误。在至少一种情况下,它似乎只是产生完全无效的代码:
<img class=logo
src='https://www.google.com/intl/en/images/logos/accounts_logo.gif'
alt="Google" />
</img>
您可以看到img标签是自动关闭的,并由单独的结束标记关闭。显然是无意识的。它的不一致也有点奇怪。我建议给他们发电子邮件并询问。 :)
答案 1 :(得分:2)
我发现此代码实际符合的唯一(建议)方式,但它不适用于Google的情况(因为它们缺少DOCTYPE)。
XHTML 2,已提出然后报废,implements a </img>
tag as a way to replace the alt attribute.
所以,而不是在XHTML 1.0 / 1.1中:
<img src="monkeys.gif" alt="Monkeys throwing feces" />
你有这个
<img src="monkeys.gif">Monkeys throwing feces</img>
如果monkeys.gif无法加载,则只显示“投掷粪便的猴子”。
这会使<img>
的行为与其他内容嵌入代码一样,例如<object>
。
在规范中,
img元素是一个持有者 嵌入属性,如src。 由于可以应用这些属性 对于任何元素,img元素都不是 严格必要,但包括在内 轻松过渡到XHTML2。喜欢 object元素,这个元素 只有在内容中才会显示内容 引用的资源不可用。
答案 2 :(得分:1)
也许他们的HTML生成器会使用相应的<tag>
关闭每个</tag>
,这对于为这样的单个标记编写<tag/>
只是一种编程上更为懒惰的替代方法。
答案 3 :(得分:1)
多年前有人写过它,现在没有人愿意触摸它并打破谷歌;)