HTML5 行内可伸缩图像(Inline SVG)
HTML5支持内联SVG.
什么是SVG?
- SVG代表可缩放矢量图形
 - SVG是用来定义基于的网络矢量的图形
 - SVG定义了XML格式的图形
 - SVG图形放大或大小时不失去任何质量
 - 每一个元素和属性在SVG文件可以动画
 - SVG是W3C推荐的
 
SVG的优势
使用SVG的优势超过其它格式的图片(如JPEG 和 GIF):
- SVG图片可以通过任何文本编辑器创建和编辑
 - SVG图像可以搜索,索引,修改,压缩
 - SVG图像是可伸缩的
 - SVG图像可以打印任何分辨率用高质量任何分辨率的图片
 - SVG可缩放(图片缩放不会影响图片质量)
 
浏览器支持
        
        
        
        
        
    
IE9+, 火狐, 欧鹏, 谷歌, 和苹果浏览器都支持SVG.
直接在HTML页面中嵌入SVG
在HTML5中, 你可以直接在HTML页面中嵌入SVG元素:
例子
            <!DOCTYPE html>
            
<html>
<body>
            
<svg width="300" height="200">
<polygon points="100,10 40,180 190,60 10,60 160,180"
style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
            
</body>
</html>
        <html>
<body>
<svg width="300" height="200">
<polygon points="100,10 40,180 190,60 10,60 160,180"
style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
</body>
</html>
亲自试一试 »
结果:
SVG和Canvas的不同
SVG是用XML描述二维图形的语言.
Canvas绘制2D图像和动画(使用JavaScript).
SVG是基于XML, 意味着在SVG DOM中的每个元素都是有效的.你可以引用JavaScript事件处理每个元素.
在SVG中, 每个绘制的图形都被作为对象. 如果SVG属性对象改变,浏览器会自动重新生成图形.
Canvas通过像素生成像素图形. 在canvas中, 一旦绘制了图像,会被浏览器忘记. 如果位置改变了,整个场景需要重置, 包括任何对象可能被覆盖的图形.
Canvas和SVG比较
下表展示了Canvas和SVG不同
| Canvas | SVG | 
|---|---|
                
  | 
            
                
  |