gpt4 book ai didi

css - SVG 过滤器使元素在 Safari 和移动版 Chrome 中不可见

转载 作者:太空宇宙 更新时间:2023-11-04 07:46:18 25 4
gpt4 key购买 nike

我有以下 SVG 过滤器:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

<defs>
<filter id="blurlayer" width="110%" height="100%">

<feGaussianBlur stdDeviation="4" result="blur"/>


<feImage id="feimage" xlink:href="data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogPGc+DQogIDx0aXRsZT5iYWNrZ3JvdW5kPC90aXRsZT4NCiAgPHJlY3QgZmlsbD0ibm9uZSIgaWQ9ImNhbnZhc19iYWNrZ3JvdW5kIiBoZWlnaHQ9IjMwMiIgd2lkdGg9IjEwMjYiIHk9Ii0xIiB4PSItMSIvPg0KIDwvZz4NCg0KIDxnPg0KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+DQogIDxyZWN0IGlkPSJzdmdfMSIgaGVpZ2h0PSIxMzMiIHdpZHRoPSIxMDI0IiB5PSI4NC41IiB4PSIwIiBmaWxsLW9wYWNpdHk9Im51bGwiIHN0cm9rZS1vcGFjaXR5PSJudWxsIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSJudWxsIiBmaWxsPSIjMDAwMDAwIi8+DQogPC9nPg0KPC9zdmc+" x="-5%" y="0" height="300px" result="mask" />

<feComposite in2="mask" in="blur" operator="in" result="comp" />

<feMerge result="merge">
<feMergeNode in="SourceGraphic" />
<feMergeNode in="comp" />
</feMerge>

</filter>
</defs>

</svg>

并通过 CSS 将其应用于元素:

.filtered {
-webkit-filter: url(#blurlayer);
filter: url(#blurlayer);
z-index: 1;
}

这适用于桌面版 Chrome 和 Firefox,但不适用于桌面/移动版 Safari 和移动版 Chrome。我认为这可能是语法问题,但看不到,请指教。

Codepen 链接 https://codepen.io/75bytes/pen/eyGKMx

最佳答案

似乎在 Safari 中将 feImage 应用于 HTML 元素似乎是不可能的。我最终找到了 Safari 和移动设备的解决方法,并使用覆盖元素和 CSS 属性 backdrop-filterpointer-events:none 将事件传递给屏蔽元素:

#backdrop {
-webkit-backdrop-filter: blur(3px);
backdrop-filter: blur(3px);
pointer-events: none;
}

关于css - SVG 过滤器使元素在 Safari 和移动版 Chrome 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48109988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com