巧妙解决多边形热点黑色边线问题

in css3 with 0 comments, 4815 views

热区在做一些专题时特别管用,但他和a链接一样会引入一些黑色边线的问题(虽然这个是有实际意义的,不过为了美观只好舍弃它了)。个人比较喜欢用js的解决方案,因为css方案或多或少会存在兼容性问题,最终都需要借助js,所以与其css与js 一起作用,还不如单纯使用js来解决。

开始我是采用这样的方案,大致原理是当热点获得焦点时立刻取消焦点。

<map name="Map" id="Map"><area shape="poly" coords="82,80,21,23,19,68,69,36,52,19,89,23" href="javascript:;" onfocus="this.blur();" /></map>

这种方案在ie下运行得很好,并没有什么问题。那么在火狐下呢,细心的话你会发现火狐下原本多边形热区是没有边线的,写了上述代码后反而出现了黑色边线。

所以我们最后还得修补一下,由于火狐本来就没有难看虚线的问题,我们只要让火狐不运行我们上边那个代码就可以了,具体代码可以这样写onfocus="if(window.event)this.blur();"



Responses ${replyToWho} / Cancel Reply