增加SVG元素的悬停区域

Cut*_*nja 7 javascript events svg hover css3

这样有一个SVG元素 -

<path d="M0,5.26429605180997L6.078685485212741,-5.26429605180997 -6.078685485212741,-5.26429605180997Z" transform="translate(100,100)scale(0.8)" style="fill: rgb(0, 0, 0);"></path>
Run Code Online (Sandbox Code Playgroud)

现在,这个元素非常小,在它上面盘旋非常困难.

如何增加悬停区域(保持此元素的区域相同),以便即使鼠标指向大约2 px,hover事件也会被触发?

Har*_*ngh 6

增加笔划宽度并使笔触不透明度0.如果0不起作用则将其设为0.01

  • 增加笔划宽度会扩大可以悬停的区域,但这不是一个很好的解决方案。如果 SVG 已将笔划用于视觉目的,则无法使用它。 (2认同)

小智 5

我的建议是创建另一个在处理悬停事件的对象上完全透明的svg元素。例如

<path d="M0,5.26429605180997L6.078685485212741,-5.26429605180997 -6.078685485212741,-5.26429605180997Z" transform="translate(100,100)scale(2.0)" style="fill: rgb(0, 0, 0, 1.0);"></path>

我不知道是否可以按照您描述的方式增加元素上的悬停区域。(如果是,我很想知道如何。)

  • 您无需摆弄调整变换。只要给它一个不可见的笔触,它就是您需要的厚度。 (2认同)
  • 这是一个示例:http://xn--dahlstrm-t4a.net/svg/interactivity/hover-invisible-stroke-compat.svg(当鼠标光标距离形状接近20px时,将触发悬停效果)。 (2认同)