I have an SVG client logo that should have one color scheme for the header (blue on white) and its inverse in the footer (white on blue). To reduce the load, I use one built-in <svg> element with <symbol> , referencing it in two places with <svg><use xlink:href="#logo"/></svg> , and then style accordingly each version using CSS.
So far so good. I only need to call SVG once and stylize it differently in both places without any problems.
However, after checking this setting in IE11, I saw that the associated SVG looks awful. This does not look like anti-aliasing, but only the related version.
I reduced SVG to a simplified version for this example (and anonymize the client), but you can see this behavior in the script if you view it in IE11.
Here is a screenshot of the behavior in IE11. The version on the left is the code I want, but you can see the quality degradation compared to the full SVG built-in on the right.

Is there a reason why only IE11 (IE9 and IE10 do it right) does it? I tried putting shape-rendering="geometricPrecision" and shape-rendering="optimizeQuality" in both the <svg> elements and the <path> element, and the quality does not change in IE11.
What am I missing here?
source share