将css应用于AREA MAP

时间:2011-02-17 08:02:41

标签: html css map area

我为地图中的区域创建了一个非常大的地图,其中包含许多多边形区域(每个区域超过20个坐标)。但是,您不能将CSS添加到AREA标记,因为我被告知它不是可见元素。我想要做的是当用户将鼠标悬停在地图上的某个区域时,我希望通过对特定AREA元素应用1px边框来“突出显示”它。有办法做到这一点吗?不,我不打算使用矩形。

3 个答案:

答案 0 :(得分:15)

CSS不可能。
不过,您可以查看Map Hilight jQuery插件。

编辑10.2011
ImageMapster是一个更新,更强大的插件,你也应该查看。

答案 1 :(得分:10)

如果您希望能够使用任意形状并仍然使用样式,您是否考虑过尝试SVG?

我不是SVG大师,但这是我掀起的一个例子:http://jsfiddle.net/tZKuv/3/。对于制作,您可能希望使用none替换默认笔画,我使用了gray,以便您可以看到它的位置。

缺点是你失去了易用区域/地图给你,但我想你可以完成你的目标,如果你走这条路。我已将cursor: pointer添加到多边形,您可以添加onclick个处理程序来模拟href的{​​{1}}。

一个明显的警告是浏览器支持。这似乎在Chrome中工作,我很确定它应该在IE9中工作(jsfiddle目前不在IE9中工作),但以前版本的IE不支持SVG。

更新:制作了一个快速测试页面来测试IE9。它确实按预期工作。 Here's the source

再次更新:这也可以解决您在其他问题中询问的缩放问题。

答案 2 :(得分:2)

不,你所描述的,没有办法做到这一点。我已经研究过并试过了。你可以做的是在各个片段上设置鼠标悬停事件,并交换一些在同一区域中着色的叠加图像。