SVG过滤器插入阴影在Safari中不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVG过滤器插入阴影在Safari中不起作用相关的知识,希望对你有一定的参考价值。

您好我正在尝试将此svg插入阴影过滤器应用于我的div。在Chrome中工作正常但在Safari中没有。

这是svg过滤器:

<filter id="inset" primitiveUnits="objectBoundingBox" x="0%" y="0%">
  <feOffset dx="0.00" dy="0.00"></feOffset>
  <feGaussianBlur stdDeviation="0.1" result="offset-blur"></feGaussianBlur>
  <feComposite operator="out" in="SourceGraphic" in2="offset-blur" result="inverse"></feComposite>
  <feFlood flood-color="black" flood-opacity="0.8" result="color"></feFlood>
  <feComposite operator="in" in="color" in2="inverse" result="shadow"></feComposite>
  <feComposite operator="over" in="shadow" in2="SourceGraphic" result="inset-shadow"></feComposite>
  <feGaussianBlur in="SourceAlpha" stdDeviation="0.0012"></feGaussianBlur>
  <feOffset dx="0.013" dy="0.013" result="offsetblur"></feOffset>
  <feFlood flood-color="black"></feFlood>
  <feComposite in2="offsetblur" operator="in"></feComposite>
  <feMerge>
    <feMergeNode in="inset-shadow"></feMergeNode>
  </feMerge>
</filter>

哪里出了问题?

注意:我尝试应用此过滤器的子项具有剪辑路径多边形属性

Chrome result

Safari result

答案

当通过CSS过滤器使用Safari时,Safari不支持某些SVG过滤器基元。 feComposite / out就是其中之一。

以上是关于SVG过滤器插入阴影在Safari中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥带有 SVG 的 CSS 剪辑路径在 Safari 中不起作用?

SVG transform="rotate(180)" 在 Safari 11 中不起作用

为啥过滤器(阴影)导致我的 SVG 在 Safari 中消失?

应用 CSS 过滤器时,内联 SVG 在 iOS 和 Safari 中消失

使用 xlink 的 SVG 在 Firefox 84 中不起作用

为啥伪元素上的过滤器渐变在 IE8 中不起作用?