2

我在 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 开发人员工具,它显示(Pending...)svg 图像。直接使用它们的 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);

有效!?

4

1 回答 1

3

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

于 2013-01-28T11:20:22.030 回答