Css 如何';显示';svg元素的属性是否影响鼠标事件?

Css 如何';显示';svg元素的属性是否影响鼠标事件?,css,svg,mouseevent,Css,Svg,Mouseevent,我有这样的html代码 <svg style="display:block"> </svg> 问题是svg元素无法捕获鼠标事件。 其他显示属性,如“内联块”。。。造成同样的结果。 使用“inline”属性,它可以捕获鼠标事件。 我想知道为什么以及如何修复它。 试试这个,以便于理解 <!DOCTYPE html> <html> <body onmousedown="alert('body')"> <svg style="dis

我有这样的html代码

<svg style="display:block">
</svg>

问题是svg元素无法捕获鼠标事件。 其他显示属性,如“内联块”。。。造成同样的结果。 使用“inline”属性,它可以捕获鼠标事件。 我想知道为什么以及如何修复它。 试试这个,以便于理解

<!DOCTYPE html>
<html>
<body onmousedown="alert('body')">
<svg style="display:block" width="300" height="300" onmousedown="alert('svg1')"></svg>
<svg width="300" height="300" onmousedown="alert('svg2')"></svg>
</body>
</html>

这只是Chrome和Opera中的情况,因为Chrome中有一个bug:(如果你检查另一个浏览器,比如Firefox,你会发现它确实按照预期工作。)

修复程序,并应在几个月内(2014年夏末)在这些浏览器的稳定版本中运行


同时,您可以通过将
包装在
显示:block
容器元素中来解决这个问题(取决于您的用例)。

希望其他人能够回答主要问题,但取决于您的最终目标,我想知道一个解决方法是否可以像用同样大小的白色矩形填充一样?像这样的东西谢谢你!我已经解决了我的问题,但我仍然想知道主要的问题。