我可以使用<use>
来引用<clipPath>
声明中先前声明的对象吗?
那么它使用该元素作为剪辑路径的定义吗?
例如:
<defs>
<rect id="foo" width="20" height="20" />
<clipPath id="bar">
<use href="#foo" />
</clipPath>
</defs>
&#13;
答案 0 :(得分:1)
是的,您可以使用<use>
声明中的clipPath
命令来引用svg文件中的任何外部对象。
在下面的示例中,clipPath从图像中剪切80 x 80px
方块。
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 300 300" style="border:1px solid red">
<defs>
<rect id="foo" width="80" height="80" />
<clipPath id="bar">
<use href="#foo" />
</clipPath>
</defs>
<image clip-path="url(#bar)" xlink:href="http://lorempixel.com/600/600/nature/1" x="20" y="20" height="100%" width="100%" />
</svg>
&#13;
红色方块显示整个画布svg的边框。