## 基础内容
### 1. 什么是 SVG
SVG 全称为 Scalable Vector Graphics,译为可缩放矢量图形,简称矢量图。是一种用来描述二维矢量图形的 XML 标记语言。
### 2. SVG与Flash的区别
| | SVG | Flash |
| --- | --- | --- |
| 相同点 | 用于二维矢量图形 | 用于二维矢量图形 |
| 不同点 | 是一个开放的W3C标准,基于XML | 封闭的基于二进制格式的 |
### 3. SVG与Canvas的区别
| SVG | Canvas |
| --- | --- |
| 不依赖于分辨率 | 依赖于分辨率 |
| 使用DOM及事件处理器(DOM专门为SVG开放接口)|不能使用DOM及事件处理器|
| 不能实现游戏开发 | 可以实现游戏开发 |
| 实现大型渲染区域的应用(例如百度地图) | 是以图片(png|jpg)存在 |
### 4. SVG的优势
- 不需要专门的编辑器,文本编辑器都可以
- 可被搜索、索引、脚本化及压缩
- 图像不失真(和分辨率无关)
**值得注意的是:**
- SVG技术并不是专属于HTML5的
- SVG技术本身是一套独立的用于描述二维图形
- HTML5版本之前,以图片形式进行引入
- HTML5版本之后,允许在HTML页面直接使用SVG技术
**可参考的资源:**
- SVG 标准:[http://www.w3.org/Graphics/SVG/](http://www.w3.org/Graphics/SVG/)
- SVG 教程:[https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial)
### 5. 如何使用 SVG
#### 1)SVG 文件(了解)
SVG 文件的扩展名为 “.svg”,使用的是 XML 技术的语法内容,并且可以在浏览器中直接运行。
```xml
```
也可以在 HTML 页面引入 SVG 文件。
```html
```
#### 2)HTML 直接定义 SVG
HTML5 的新特性允许在 HTML 页面中直接定义 SVG 元素(需要学习有关SVG的一些HTML新元素)。
**`