能否使带路径的SVG剪辑路径响应式?

4
我正在尝试制作一个响应式的SVG,其中包含一个位图图案和一个带有clipPath的复杂形状。如果我使用
1个回答

1
将您的<clipPath>转换为使用clipPathUnits="objectBoundingBox"。使用objectBoundingBox单位时,剪辑路径坐标映射到它们被应用于的元素的边界框。 (0,0) 映射到元素的左上角。(1,1) 映射到右下角。您需要重新定义路径(或应用变换以将坐标转换为此范围)。但一旦您这样做了,它将自动缩放以适应您应用它的任何内容。

1
谢谢@PaulLeBeau。有没有一种简单的方法来转换路径?我尝试将所有值除以视口中设置的宽度或高度(0,0,300,100),但形状看起来根本不像它应该的样子。 - edrpls
只要你使用的视口(viewBox?)与你应用剪辑路径的对象的相对大小相对应,那么这将起作用。或者,写一点JavaScript来调用clippath路径上的getBBox()函数。这将为您提供路径的确切大小,因此剪辑路径将完全适合对象。 - Paul LeBeau
我也遇到了同样的问题...不知道如何轻松地实现它...网上也没有人提供任何有用的信息... - giovannipds
2
转换问题已经在这里得到解决:(https://dev59.com/v10Z5IYBdhLWcg3wphsE)和(https://dev59.com/5Inca4cB1Zd3GeqP_HO6),由@Lazar Vuckovic和Robert Longson的帮助实现。请去那里看看吧!<3 - giovannipds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接