css - 悬停时的 svg 过滤器在 safari 和 chrome 中不起作用

标签 css svg hover css-filters drop-shadow

我有一张美国 map ,其中对某些地区进行了分组。在悬停每个区域时,我应用了一个阴影。在 Firefox 中运行良好!但在 Safari 中,svg 对象组在悬停时消失,而在 chrome 中,什么也没有发生。由于这是悬停效果,我无法将那些在其他地方引用的定义放入其中。对此有合理的解决方案吗?

这是我尝试使用的 CSS:

filter: drop-shadow( 5px 5px 3px rgba(0,0,0,0.5) );
-webkit-filter: drop-shadow( 5px 5px 3px rgba(0,0,0,0.5) );
z-index: 1;

我将它应用于内联 SVG 图像中的一组形状。

<g id="auc">
    <polygon id="x">
    <polygon id="xx">
    <path id="xxx">
</g>

可以在示例中看到上面引用的 defs here .

最佳答案

好吧,经过一些实验,在 Chrome 中,CSS 过滤器似乎还不适用于 SVG 子元素,尽管它们确实适用于 SVG 元素本身。您必须使用 SVG 过滤器和一些 JavaScript 事件代码以老式方式完成此操作。

关于css - 悬停时的 svg 过滤器在 safari 和 chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37266333/

相关文章:

html - 检查 radio 时检查文本颜色

jQuery 查找 'nth-child' 值

angularjs - 将鼠标悬停在重复上并单击菜单 Protractor

javascript - 读取表然后删除并显示新的

css - 为 Flexbox 列表中的图像添加叠加层

html - 只有 Internet Explorer 显示 1px 不需要的空间

javascript - 将 d3 slider 对象移动到特定位置

html - 为什么内联 block svgs 在 Edge 浏览器中重叠,在 IE11 中显示很小,高度以像素为单位,宽度为自动?

javascript - SVG 圆在 <a> 标签中时不出现

html - 类名 :hover #myID {style}