我可以推荐SVG入门(由W3C出版),它涵盖了这个主题:http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html#SVG_in_HTML
如果使用<object>
,则可免费获得光栅回退*:
<object data="your.svg" type="image/svg+xml">
<img src="yourfallback.jpg" />
</object>
*)好吧,不是完全免费的,因为有些浏览器下载了这两种资源,请参阅下面拉里的建议,了解如何避免这种情况.
2014 update:
如果您需要非交互式SVG,请使用带有脚本回退的<img>
至PNG版本(适用于较旧的IE和Android<;3).一件干净简单的衣服
要做到这一点,请执行以下操作:
<img src="your.svg" onerror="this.src='your.png'">
这将表现得很像GIF图像,如果浏览器支持声明性动画(SMIL),则这些动画将播放.
如果需要交互式svg,请使用<iframe>
或<object>
.
如果您需要为较旧的浏览器提供使用svg插件的能力,请使用<embed>
.
对于css background-image
中的svg和类似属性,modernizr是切换到备用图像的一种 Select ,另一种 Select 是根据多个背景自动切换:
div {
background-image: url(fallback.png);
background-image: url(your.svg), none;
}
Note: the multiple backgrounds strategy doesn't work on Android 2.3 because it supports multiple backgrounds but not svg.
svg后备方案的另一个好读物是this blogpost.