【发布时间】:2014-01-05 10:17:20
【问题描述】:
我正在尝试将 SVG 文件显示为 标记的 src(根据 caniuse.com/svg-img 我应该能够在所有最近的浏览器中执行此操作)。该文件在 Chrome 和 Firefox 中显示,但 Internet Explorer 仅显示一个带有 x 的黑框,如下所示:<img>
直接在 IE 中打开文件,图像显示完美,所以实际的 SVG 文件应该没有什么问题。 IE 控制台中没有错误或警告,我使用的是最新版本的浏览器。
HTML:
<div id="plot">
<img id="svg" src="plot1.svg" height="100%" width="100%"/>
</div>
样式表:
#plot {
float: right;
width: 650px;
height: 550px;
background: #ffffff;
}
#plot svg {
margin-left: auto;
margin-right: auto;
overflow: visible;
}
x出现的可能原因有哪些?
编辑:SVG 是一个自动生成的大型文件,可以查看here 的一个示例。用于生成它的代码很旧,可能与顶部的 DOCTYPE 有关吗?我尝试更改它,但仍然无法显示任何内容。
编辑2:我已经让它工作了……有点。当我按 F12 并转到“仿真”选项卡时,由于某种原因,它显示 IE 正在以文档模式 7 显示页面,即。使用不支持 SVG 的 IE7 兼容模式。我可以手动单击任何更高版本,它显示正常。我的下一个问题是:为什么?为什么它以模式 7 运行显示页面,我该如何停止这种行为?
【问题讨论】:
-
这很奇怪。我的 Jenkins 构建项目页面中有几个 SVG 图像,它们在 IE11 中显示得很好。
-
实际上,这敲响了警钟——我想我以前在这里看到过类似的东西。尝试将
height="100%" width="100%"更改为 CSS 样式,看看是否有帮助。我有一种预感,这就是这里的关键。 -
我应该提到我已经尝试过了。对IE没有影响,其他浏览器只显示四分之一的图片:P
-
如果没有看到图像(或任何其他具有相同效果的图像),将很难给出任何进一步的建议。正如我所说,我无法用我拥有的图像在这里复制它。您提到您已经检查了控制台...您还检查了网络选项卡吗?我假设它下载正确? http 标头中的 mime 类型是否正确?我现在想不出其他任何东西,除非图像本身有什么奇怪的地方。
-
我已编辑帖子以包含指向该文件示例的链接。我目前正在弄乱 DOCTYPE 和其他东西,试图让它显示。
标签: html image internet-explorer svg