调整大小时,ie11 上的 Base64 svg 不呈现

Base64 svg on ie11 not rendering when resized

我有一个用 base64 编码的特定 svg 文件,我试图用 img 标签显示它。

我的问题是; 仅限此特定 svg仅限 internet explorer

上调整大小时不会呈现图像

你可以自己试试(我在windows7上用ie11):CodePen

你有这个 explanation/workaround 吗?

此致

如果您在调整尺寸时仔细观察,我们可以看到部分 SVG 实际显示出来了。 IE 似乎调整了 canvas 的大小,但没有调整实际形状。

解码您的 SVG 文件,这是我们得到的:

<svg height="361.5" width="361.5" xmlns="http://www.w3.org/2000/svg"><path d="m-110.25-20.25h582v402h-582z" fill="none"/>...</svg>

heightwidth是固定的。使用 viewBox 属性 更改这些属性允许 IE 调整形状的大小:

<svg viewBox="0 0 361.5 361.5" xmlns="http://www.w3.org/2000/svg"><path d="m-110.25-20.25h582v402h-582z" fill="none"/>...</svg>

亲切的问候!