如何在IE 9-10-11中使用外部SVG元素(<use>标签)

时间:2016-03-08 13:36:59

标签: html internet-explorer svg

我有以下内容:

<svg viewBox="0 0 20 20" class="icon">
     <use xlink:href="/img/svg/road.svg#Laag_1"></use>
</svg> 

我的doctype是正确的。当我将其添加到常规<img>标记中时,会显示SVG。我不能这样做的原因是我不能做任何动画(例如:fill:#fff;)到它上面所以这是唯一的解决方案。

图标在所有其他浏览器中正确显示。这里有什么想法吗?

1 个答案:

答案 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 文件中指定(以及为可读性而指定的标题和角色)