我有一个客户端徽标的SVG,需要有一个标题颜色方案(白色为蓝色),页脚反色(蓝色为白色)。为了减少负载,我使用<svg>
一个内联<symbol>
元素,使用<svg><use xlink:href="#logo"/></svg>
在两个位置引用它,然后使用CSS适当地设置每个版本的样式。
到目前为止,这么好。我只需要调用SVG一次,并且可以在两个地方对它进行不同的设置,没有任何问题。
然而,在IE11中检查此设置后,我看到链接的SVG看起来很糟糕。它似乎不是抗锯齿,而只是链接版本。
我已将SVG缩减为此示例的简化版本(并对客户端进行匿名化),但如果您在IE11中预览它,则you can see this behavior in a fiddle。
以下是IE11中的行为的屏幕截图。左边的版本是我想要的代码,但是你可以看到与右边的完整SVG相比质量下降。
有没有理由只为IE11(IE9和IE10正确渲染)这样做?我尝试将shape-rendering="geometricPrecision"
和shape-rendering="optimizeQuality"
放在<svg>
元素和<path>
元素中,质量在IE11中不会改变。
我在这里缺少什么?
答案 0 :(得分:4)
如果您将源放在代码的顶部,它似乎正在工作。
像这样:
<svg style="display:none" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 90.44" xml:space="preserve" version="1.1">
<symbol id="logo">
<defs>
<clipPath clipPathUnits="userSpaceOnUse">
<path d="m0 67.83 432 0L432 0 0 0 0 67.83Z" />
</clipPath>
</defs>
<g transform="matrix(1.3333333,0,0,-1.3333333,0,90.436933)">
<g clip-path="url(#clipPath16)">
<g transform="translate(25.9522,0.5186)">
<path d="m0 0c-11.91 4.19-25.95 13.63-25.95 27.69l0 28 2.56 1.2c14.27 6.65 32.15 10.42 47.85 10.42l4.44 0 0-39.62C28.9 13.63 14.86 4.19 2.95 0L1.47-0.52 0 0ZM-21.51 52.86C-10.12 58.17 7.13 62.87 24.46 62.87l0-35.18C24.46 16.11 12.05 7.91 1.47 4.19-9.1 7.91-21.51 16.11-21.51 27.69l0 25.17z" style="fill-rule:evenodd;" />
</g>
<g transform="translate(31.1309,54.8155)">
<path d="M0 0C-0.02-0.01-0.05-0.02-0.07-0.03-0.05-0.02-0.02-0.01 0 0" class="s0" />
</g>
<g transform="translate(31.2388,54.8624)">
<path d="M0 0C-0.04-0.01-0.07-0.03-0.11-0.05-0.07-0.03-0.04-0.01 0 0" class="s0" />
</g>
<g transform="translate(31.0625,54.7837)">
<path d="M0 0C0 0 0 0-0.01 0 0 0 0 0 0 0" class="s0" />
</g>
</g>
</g>
</symbol>
</svg>
<header>
<div>
<a href="test.html"><svg viewBox="0 0 576 90.44">
<use xlink:href="#logo"/>
</svg></a>
</div>
<div>
<svg viewBox="0 0 576 90.44">
<use xlink:href="#logo"/>
</svg>
</div>
</header>
<div class="clear"><!-- --></div>
<footer>
<div>
<a href="test.html"><svg viewBox="0 0 576 90.44">
<use xlink:href="#logo"/>
</svg></a>
</div>
<div>
<svg viewBox="0 0 576 90.44">
<use xlink:href="#logo"/>
</svg>
</div>
</footer>