css - IE9 中的 SVG 背景图像

标签 css svg internet-explorer-9

我在 Internet Explorer 9 中使用 svg 图像作为背景时遇到了一个奇怪的问题。

我测试了以下 CSS 规则:

background-image: url(./grad.svg);  /* local file */
background-image: url(http://127.0.0.1:7101/path/to/images/grad.png);
background-image: url(http://127.0.0.1:7101/path/to/images/grad.svg);

虽然前两条规则很有效,但最后一条却失败了。使用 F12 开发人员工具,它会显示 svg 图像的 (Pending...)。直接通过 url 访问图像,它们在 IE9 中正确显示。

我检查了 Opera 中的所有三个规则,它们都有效。

那么最后一条规则有什么问题呢?

//编辑

另外我测试了以下规则:

background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc1MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIxMDAlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0ZGRkZGRiIgb2Zmc2V0PSIwIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0UzQTgyMCIgb2Zmc2V0PSIxIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzUyNCkiIC8+Cjwvc3ZnPg==);

在 IE9 和 Opera 中都运行良好

//编辑2

我也尝试了以下方法:

background-image: url(http://upload.wikimedia.org/wikipedia/commons/a/af/Android-System-Architecture.svg);

成功了!?

最佳答案

确保您的本地网络服务器发送 svg 文件的正确媒体类型,image/svg+xml

关于css - IE9 中的 SVG 背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14557784/

相关文章:

svg - 如何将形状优美的多边形转换为 SVG?

javascript - Internet Explorer 9 中的 HTML5 Image.onload 竞争条件

javascript - PDF.js 无法在 IE9 上运行

html - 水平导航栏菜单子(monad)菜单对齐

javascript - 响应式页面 - 强制响应式布局

html - <object> 中 SVG 的链接 "out"

javascript - Jquery 文件上传 - 在 IE9 中不发送标题

css - DropDown 的 Kendo 网格验证消息对齐问题

html - 我的标题图片不会显示

javascript - 使用 xlink 加载 svg 图像(Chrome)