Why doesn't CSS clip-path with SVG work in Safari?
我在标头上有一个内嵌svg和一个背景图片。
我正在使用css剪切路径来"剪切"出具有以下图像的svg动画。
我在Firefox和Chrome中使用效果很好,但Safari浏览器根本不应用任何剪裁/遮罩功能。
在开始此项目之前,我检查了caniuse规范的内容,它指出了适用于chrome的相同规则和例外,我刚刚对chrome进行了测试,并且它起作用了,因此我继续进行下去,确定野生动物园将得到相同的待遇。
我一直在摸索,试图找出如何使剪辑在野生动物园中正常工作而无济于事。
我该如何在Safari中使用它?
笔供参考:
https://codepen.io/H0BB5/pen/Xpawgp
的HTML
1 2 3 4 5 6 | <clipPath id="cross"> <rect y="110" x="137" width="90" height="90"/> <rect x="0" y="110" width="90" height="90"/> <rect x="137" y="0" width="90" height="90"/> <rect x="0" y="0" width="90" height="90"/> </clipPath> |
的CSS
1 2 3 4 | #clipped { margin-bottom: 20px; clip-path: url(#cross); } |
您需要
如果使用
CSS:
1 2 3 4 5 | #clipped { margin-bottom: 20px; clip-path: url(#cross); -webkit-clip-path: url(#cross); } |
JS:
1 2 3 4 5 | var clipPathSelect = document.getElementById("clipPath"); clipPathSelect.addEventListener("change", function (evt) { document.getElementById("clipped").style.clipPath = evt.target.value; document.getElementById("clipped").style.webkitClipPath = evt.target.value; }); |
分叉的CodePen:https://codepen.io/techsock/pen/JEyqvM
更新资料
看来这可能与Safari的
JSFiddle行为截图:
?不正确的
?不正确的
?正确
只需添加
1 | -webkit-clip-path: polygon(50% 0%, 1000% 0%, 50% 100%, -1000% 0%); |