SVG Sprites与<use>和xlink:href

时间:2017-07-20 10:21:35

标签: javascript html svg

我正在使用SVG spriting,这似乎工作得非常好,所以我想到,直到我在ie9(我们的最低支持浏览器)中打开网站。所有SVG都没有显示。以下是我如何引用我的SVG:

<svg class="icon-search">
    <use xlink:href="#icon-search"></use>
</svg>

所以这适用于所有现代浏览器,但经过一些研究后现在不推荐使用,你应该只使用不带xlink的href:所以我将所有SVG改为:

<svg class="icon-search">
    <use href="#icon-search"></use>
</svg>

现在我的问题是我的SVG在Safari和ios中不起作用!!我正在寻找适用于所有现代浏览器和IE9的解决方案。有没有人遇到这个问题并找到了一个很好的解决方案?

2 个答案:

答案 0 :(得分:0)

您可以使用polyfill svg4everybody

答案 1 :(得分:0)

提供两个属性。现代浏览器更喜欢href而不是xlink:href。

我认为现代浏览器不会放弃对xlink:href的支持,直到Safari实现它。我反对从Firefox中删除xlink:href支持。