我有以下内容:
<svg viewBox="0 0 20 20" class="icon">
<use xlink:href="/img/svg/road.svg#Laag_1"></use>
</svg>
我的doctype是正确的。当我将其添加到常规<img>
标记中时,会显示SVG。我不能这样做的原因是我不能做任何动画(例如:fill:#fff;)到它上面所以这是唯一的解决方案。
图标在所有其他浏览器中正确显示。这里有什么想法吗?
答案 0 :(得分:1)
(通过Robert Longson的评论找到答案)
这里的问题是use-tag的外部使用。解决这个问题的一种方法是使用Jonathan创建的 svg4everybody 库。
Github上: https://github.com/jonathantneal/svg4everybody
CDN: https://cdnjs.com/libraries/svg4everybody
只需在页脚中实现它,调用函数svg4everybody();它完成了这项工作。请注意,您需要SVG文件的特定标记才能使其正常工作。
SVG图像的标记略有变化:
<svg title="Tower" role="img" class="icon">
<use xlink:href="/img/svg/_svg-icons.svg#tower"/>
</svg>
“viewbox”现在在一般 _svg-icons.svg 文件中指定(以及为可读性而指定的标题和角色)