Я определил clipPath SVG и применяю его к нескольким DIV на моей странице. Он работает/отображается, как и ожидалось, в FF, но в Chrome и Safari (все последние версии) кажется, что clipPath повлияет на элемент HTML, только если элемент HTML расположен в верхнем левом углу страницы.
Объект SVG
<svg height="0" width="0">
<defs>
<clipPath id="clip">
<path fill="#000000" d="M0,0.01c3.472,1.088,6.688,3.663,7.878,9.208c1.604,7.482,4.305,11.862,7.102,11.79v0.003
c0.007,0.001,0.014-0.001,0.02-0.001c0.007,0,0.014,0.002,0.021,0.001v-0.003c2.797,0.072,5.499-4.308,7.103-11.79
C23.312,3.672,26.527,1.098,30,0.01H0z"/>
</clipPath>
</defs>
</svg>
CSS для обрезаемого элемента
.clipMe {
background: red;
width: 30px;
height: 21px;
clip-path: url(#clip);
-webkit-clip-path: url(#clip);
}
Я считаю, что эта статья начинает решать эту проблему с помощью систем координат, но я заблудился /перепутал очень быстро несколько раз. Звучит так, как будто говорится, что, используя разные единицы измерения и координаты, можно применить clipPath к любому элементу HTML... но я действительно не уверен.
Я экспортировал свой clipPath из Illustrator, поэтому, если бы нужно было использовать разные единицы измерения/координаты, я не уверен, как бы я это сделал.
В Chrome и/или Safari кто-нибудь успешно применил clipPath SVG (это был фактический путь, а не многоугольник или эллипс) к элементу HTML, расположенному где-то еще, кроме верхнего левого угла страницы?