我正在使用svg精灵,但在显示图标时遇到问题。 只有第一个图标从精灵中显示,其余的没有。 有人可以帮忙吗?
我引用了 html 文件上的 svg 图标并引用了精灵表:
<i class="icon icon-desktop-wallet">
<svg width="145" height="145" viewBox="0 0 53 32">
<use xlink:href="sprite.svg#icon-image-desktop-wallet"></use>
</svg>
</i>
这是关于Plunker的:https://plnkr.co/edit/9uJBGIsti0okemimjcNM?p=preview
不太确定我在这里错过了什么
谢谢
在精灵.svg文件中,每个元素的 x 都会发生变化,例如对于 icon-image-bg-cloud 的 x 值为 37。
<svg id="icon-image-bg-cloud" width="55" height="32" viewBox="0 0 55 32" x="37" y="0">
...
</svg>
这意味着当您使用 viewBox="0 0 29 32" 显示它时,您看不到任何内容,因为角色位于可视区域之外。
您可以通过以下任一方式解决此问题
- 为此特定精灵设置 viewBox="37 0 29 32",然后适当调整其他使用值,或者
- 在精灵中设置 x="0".svg为您的所有精灵。实际上,您可以完全删除x属性,因为此处的默认值为0。
选项 2 对我来说似乎是最简单的 FWIW。