HTML中的<img/> vs <img/>标记

时间:2012-08-13 05:24:12

标签: html

我正在写一篇介绍性的HTML课程。我记得在9年前发现,当我学习HTML时,<img><image>都用作显示图像的标记,至少在IE中是这样。实际上,<image>仍然适用于5种顶级浏览器的最新版本。

我发现<image>不正确,不会使用http://validator.w3.org进行验证。但是,是否有人知道如果使用<image>代替<img>,则无法显示图片的浏览器?

此外,我认为现代浏览器只显示使用<image>标签创建的图像,因为它是初学者常犯的错误。这个假设是否正确?

4 个答案:

答案 0 :(得分:19)

是和否。正如您所指出的,<image>长期以来一直是<img>的同义词。我认为这是早期的Netscape浏览器首先做到这一点,可能是为了弥补用户错误,或者可能是因为当时存在争议是否应该实际调用该元素<image><img>

无论如何,正如pst指出的那样,一旦它在一个主导市场的浏览器中实现,网页就会依赖它。然后它的持久性降低了浏览器制造商的商业压力。如果所有主流浏览器都支持它,那么浏览器A决定虽然它在版本V中支持它,但它不会在版本V + 1中支持它,只要版本V + 1发布,它们就会收到大量消息说&#34; Site S在您最新的浏览器中被破坏了。你的浏览器是垃圾。我将切换到浏览器B&#34;。

HTML5解析规范要求<image>标记在树构造阶段映射到img元素,因此永远不会有任何理由使用它。

与其他HTML消费者相比,我不太关心浏览器,例如鲜为人知的搜索引擎。我认为image同义词的img并不广为人知,因此许多此类工具无法选择<image>作为引用图像资源。

答案 1 :(得分:4)

我刚刚完成调试此问题,我之前没有阅读上述答案。

虽然不是完整的浏览器,但电子邮件客户端通常被用作浏览器。

我发现,使用裸HTML(使用默认裸DTD规范)的Android Gmail客户端确实会出现此问题。它只响应<img /> [即,不是<image />]。 gmail.com适用于<image />,但不适用于Android gmail客户端。

虽然电子邮件客户端并不是真正的浏览器,但我认为您可能会感兴趣。

答案 2 :(得分:4)

它们在SVG中有不同的用法。 image代码会在SVG中创建特定的element,并且不能被img代码替换。

Fiddle Example

答案 3 :(得分:0)

事实上。现代浏览器将显示无效的代码,以确保旧网站仍然正确显示,稍微无效的代码不会搞砸页面。

例如,在打开新版本之前忘记关闭<tr> - 所有现代浏览器都会假设您已将其关闭。

我不知道一个使用良好,最新的浏览器无法显示<image>标记,但会显示<img>标记。