2013-12-12 59 views
1

在IE9中使用小型svg时出现问题。它得到的右侧剁掉/不集中:IE9中的SVG缩放问题

screenshot(应该是一个 “X”)

我的SVG:

<?xml version="1.0" encoding="utf-8"?> 
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
    viewBox="0 0 364.786 364.786" enable-background="new 0 0 364.786 364.786" 
    xml:space="preserve" preserveAspectRatio="xMinYMin none"> 
<polygon fill="#999999" points="300.988,0 182.388,118.618 63.768,0.015 0,63.745 118.639,182.376 0.015,301.018 63.745,364.786 
    182.395,246.127 301.045,364.771 364.786,300.988 246.15,182.371 364.771,63.742 "/> 
</svg> 

我删除宽度高度和have viewbox and preserveAspectRatio =“xMinYMin none”虽然...

http://jsfiddle.net/dzCL2/12/

回答

2

你preserveAspectRatio值是无效的,应该被浏览器所忽略:

preserveAspectRatio="xMinYMin none" 

xMidYMid meet的默认值将在这种情况下渲染时使用。

有关语法的详细信息,请参阅SVG 1.1 spec。 IE可能会将该值视为部分有效,仅应用xMinYMin部件,这会导致左对齐的图像。使用正确的语法应该有希望解决这个问题。

+0

太棒了!工作......我从这里复制了无效值:http://stackoverflow.com/a/11780399/395035 – acy

0

这为我工作在Safari避免比例缩放正确的设置:

<svg ... preserveAspectRatio="none"> 

</svg>