首页 > 解决方案 > SVG:图案填充不适用于“使用”

问题描述

我有icon.svg

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <symbol id="icon_page" viewBox="0 0 221 118">
       <pattern id="patt" patternUnits="userSpaceOnUse" width="53" height="111"> <image xlink:href="..." x="0" y="0" width="53" height="111"/></pattern>
       <path fill="url(#patt)" d="..."/> 
    </symbol>
</svg>

然后我通过“使用”在 html 中使用icon.svg的一部分:

<svg>
    <use xlink:href="/assets/images/icon.svg#icon_page"></use>
</svg>

并且图案填充不起作用。没有填充我看到图,但填充 - 什么都没有。如果我将 svg 代码直接放入 html,它就可以了:

<svg>
    <symbol id="icon_page" viewBox="0 0 221 118">
       <pattern id="patt" patternUnits="userSpaceOnUse" width="53" height="111"><image xlink:href="..." x="0" y="0" width="53" height="111"></image></pattern>
        <path fill="url(#patt)" d="..."></path> 
    </symbol>
    <use xlink:href="#icon_page"></use>
</svg>

有人知道吗?提前致谢!

标签: svg

解决方案


推荐阅读