SVG as an Image

SVG as an Image

SVG图像可以作为一种图片格式用在很多环境中。很多浏览器支持在下列环境中应用SVG图像:

  • HTML的<img> 元素或 <svg> 元素

  • CSS的background-image属性

Gecko专有的环境

另外,Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)引入了在以下环境中支持使用SVG:

  • CSS list-style-image 属性

  • SVG <image> 元素

  • SVG <feImage> 元素

  • Canvas drawImage 函数

局限

如果SVG作为一个图像,出于安全目的,Gecko在SVG环境上作了一些限制:

  • 外部源(比如说:图像、样式表)不能载入,然而行内源可以使用(利用BlobBuilder对象URL或者data: URI属性)。

  • 链接的:visited伪类不能呈现。

  • 禁用了平台原生的小部件样式(基于操作系统主题)

注意上面的限制是对图像环境专有的;它们不能应用到直接看到的SVG上,也不能应用到嵌入在HTML的<iframe>元素、<object>元素和<embed>元素中的SVG上。

规范

SpecificationStatusComment
HTML5The definition of 'SVG within <img> element' in that specification.RecommendationDefines the usage of SVG within <img> elements.
CSS Backgrounds and Borders Module Level 3The definition of 'SVG within 'background-image' CSS property' in that specification.Candidate RecommendationDefines the usage of SVG within the background-image property.

浏览器兼容性

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
in HTML <img>4.04.0 (2)99.04
in CSS background4.04.0 (2)99.55
in other contexts?4.0 (2)???

FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
in HTML <img>3.04.0 (2)?10.04.0
in CSS background3.04.0 (2)?10.03.21
in other contexts?4.0 (2)???