我一直在尝试使用SVG作为背景图像,用于使用background-size
- 属性缩放它的元素。这在大多数当前浏览器中都很有用,但是Internet Explorer似乎误解了这些值,当我只使用一个值时,图像的尺寸要小得多,而且两个值的比率不正确。
我在http://jsfiddle.net/c7DEw/1/
上提了一个例子 svg的宽度和高度已设置为100%。我认为它与viewBox
和enable-background
属性有关,但这些似乎没有任何影响。
在Internet Explorer 9和10中都会发生这种情况。
以前有人遇到过这种行为吗?如果是这样,你是如何解决它的?
答案 0 :(得分:12)
我有一个类似的问题,由Illustrator生成的svg文件用作背景图像,经过多次尝试和错误后,修复似乎只是编辑每个svg文件并声明svg的宽度和高度作为属性,例如<svg width="32px" height="128px">
(Illustrator没有设置,但Sketch会设置)。这导致svgs在IE 10/11中的行为与在Chrome / FF中的行为相同。
答案 1 :(得分:0)
我刚刚在另一个项目中遇到了这个问题。我将资源从Illustrator设计单独复制到新文件,并将画板更改为与其边界框完美对齐。然后我通过CSS background-property包含了SVG,并注意到IE10和IE11中的显示尺寸都较小。
然后在Illustrator中重新打开资源,将它们复制到Sketch并将它们导出到SVG,这种行为就消失了。
看起来Illustrator正在创建一个尺寸不正确的画板(或容器),这会抛出尺寸。但我多次搜索这个问题,并没有发现其他人遇到这个问题,所以这可能是我做错了。但这个过程非常简单,我无法想象它会是什么。