I found one workaround that requires very little work:
Make the SVG image 2X in size of the actual content (this will make the circle the same:
<svg xmlns="http://www.w3.org/2000/svg" height="200" width="200" viewBox="0 0 200 200"> <circle cx="50" cy="50" r="48" stroke="black" stroke-width="3" fill="red" /> </svg>
Then use: after the pseudo-element to create an internal element with 2x the desired size. So html will be
<div class="circle"></div>
And css will be
.circle { width: 14px; height: 14px; position:relative; } .circle:after { position: absolute; top: 0; left: 0; content: ' '; width: 28px; height: 28px; background-size: 28px 28px; background-repeat: no-repeat; background-image: url('circle.svg'); }
Extra space in: after pseoudoelement gives IE a spare canvas for drawing, but both the visible icon and the space occupied by the original container remain unchanged.
source share