2017-10-13 153 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'。 –