2017-10-13 151 views
0

我使用svg图标,这些图标在不同的浏览器上看起来不错,但在IE11上,svg元素的某些边框(如矩形或线条)在某些缩放级别上不可见。例如,宽度为23px时,所有内容都可见,但在24px内某些边框消失。当放大IE11时,Svg元素边框消失

这是一个正常的图像:

enter image description here

这在比特被放大:

enter image description here

另一个缩放级别:

enter image description here

+0

假设可能是最好的在IE中不会有这样的问题的方式是不使用svgs .. – ebsk

回答

1

为了在浏览器中获得更一致的缩放比例,始终确保指定viewBox,但不要在svg元素上留下widthheight属性。

来源:SVG in img element proportions not respected in ie9

一个shell命令,将删除所有SVG文件width & height属性在当前目录:

find ./ -name '*.svg' -print0 | xargs -0 sed -i "" -e 's/width="[0-9]*\.*\[0-9]*" //' -e 's/height="[0-9]*\.*\[0-9]*" //'

来源:https://gist.github.com/larrybotha/7881691

+0

它没有看到m是一个问题,因为我使用的svg没有宽度和高度,但有一个由Illustrator生成的viewBox。 简化版本为: <?xml version =“1.0”encoding =“utf-8”?> <! - Generator:Adobe Illustrator 19.2.0,SVG Export Plug-In。 SVG Version:6.00 Build 0) - > 无标题-2 \t <矩形X = “12.5” Y = “5.5” 级= “ST0” 宽度= “1” 高度= “73.8” 填充= “橙色”/> ebsk

+0

即使我把这个简单的svg结果应该是一个1px行的IE一次显示一次当缩放时隐藏行。这个问题当然不是缩放,而是在页面上缩放svg本身,因为在某些显示器上它看起来不错,但另一方面它不会有一些线条不可见。 – ebsk

+0

尝试移除'rect'上的'width'和'height'。 –