【发布时间】:2014-08-30 02:47:06
【问题描述】:
我无法让 iOS 浏览器支持 SVG 图像元素的 background-color CSS 属性。我正在使用第三代 iPad(型号 MD366LL/A,iOS 6.1.3)进行测试。
我尝试了几个具有透明背景的 SVG 图像,并且浏览器不尊重在 img 元素上设置的背景颜色。祖先元素的背景颜色最终被显示出来。
使用透明 PNG 时不会出现同样的问题。此外,我测试过的其他浏览器支持在 img 元素上设置的背景颜色(Android 4.4 上的 Android Browser、Opera、Firefox、Dolphin Browser 和 Chrome;Ubuntu 13.10 x64 上的 Firefox 和 Opera)。我目前无法使用 iPhone。
一些示例代码(将 URI 替换为 img 元素的 src 属性中的透明 SVG 图像):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Test</title>
<style type="text/css">
html, body {
margin: 0px;
padding: 0px;
position: relative;
}
.container {
position: relative;
width: 100%;
background-color: #222222;
}
.image {
width: 20%;
background-color: #888888;
}
</style>
</head>
<body>
<div class="container">
<img src="image.svg" class="image">
</div>
</body>
</html>
这是图像元素渲染中的错误,还是我遗漏了什么?如果是错误,是否有不需要添加额外标记的解决方法?
【问题讨论】: