关于图像映射的一般问题

时间:2010-08-31 21:25:16

标签: javascript html css imagemap

首先,我注意到您可以将<map>标记放在文档中的任何位置,图像映射也可以正常工作。因此,人们通常会将<map>标记放在<head>中,或者更好的做法是将<body>紧跟<img />之后的{{1}}对应到?

其次,我知道从HTML5开始不会弃用地图标记,使用标签可以跳过客户端图像映射中的每个链接。尽管如此,我还是听到很多关于图像地图过时而且无法访问的信息。这是真的吗?

最后,我总是听到人们说使用CSS或JavaScript实现图像映射的方法更好,更方便,但我从未见过一个例子。有人可以显示或链接我与跨浏览器兼容的示例(即在IE中工作)。

1 个答案:

答案 0 :(得分:2)

由于没有其他人对此问题有任何意见,我认为为了完整起见,我会用迄今为止所学到的内容回答我自己的问题。

根据W3Schools,Head元素中只有六个标签,而Map / Area标签不在六个标签中。此外,通过关联,当您的地图标记直接位于img标记之前时,它会使更易理解的标记。

关于第二个问题,我认为我听到的几个来源是评估不正确或者当他们想要说服务器端图像映射时错误地引用客户端图像映射。客户端图像映射非常容易访问。

作为图像地图的替代品:

有一些非JavaScript方法可以使用div / spans,floating,z-indexing和hover伪选择器来创建图像映射,从而实现一般的图像映射效果。但是应该避免这些,因为实际的图像映射可以通过添加JavaScript事件处理程序来实现相同的效果。

在JavaScript中,您可以观察鼠标的坐标并设置事件处理程序,以便用户在图像的某个坐标内单击时,从而允许您以编程方式复制图像映射效果。但是,由于此技术仅使用JavaScript,因此通常应避免使用JavaScript,因为禁用JavaScript的人无法访问它。