我为地图中的区域创建了一个非常大的地图,其中包含许多多边形区域(每个区域超过20个坐标)。但是,您不能将CSS添加到AREA标记,因为我被告知它不是可见元素。我想要做的是当用户将鼠标悬停在地图上的某个区域时,我希望通过对特定AREA元素应用1px边框来“突出显示”它。有办法做到这一点吗?不,我不打算使用矩形。
答案 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)
不,你所描述的,没有办法做到这一点。我已经研究过并试过了。你可以做的是在各个片段上设置鼠标悬停事件,并交换一些在同一区域中着色的叠加图像。