svg - 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>
有人知道吗?提前致谢!
解决方案
推荐阅读
- python - Ghostscript 9.26 在 PowerPC (ppc64le) 架构上构建失败
- c# - 非泛型方法“ControllerBase.Ok()”不能与类型参数一起使用
- python - TypeError:如何修复仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但获得了“Index”实例
- python - Django - 电子邮件未发送,但其对象是在数据库中创建的
- node.js - NestJS 拦截器:无法在传出请求上设置 HTTP 标头
- mysql - 多个数据库的多租户数据库连接池
- tensorflow - 使用 Conv 或 Rnn 嵌入的 tf-hub 层的错误输出
- slack - Slack 是否为每个工作空间或组织使用每个服务器实例?
- github - Github API中的限速graphql查询有费用吗?
- swift - 在 Swift 中加快 UIImage 处理速度