canvas 和 SVG 以及 VML 之间的差异:
<canvas> 标记和 SVG 以及 VML 之间的一个重要的不同是,<canvas> 有一个基于 JavaScript 的绘图 API,而 SVG 和 VML 使用一个 XML 文档来描述绘图。
这两种方式在功能上是等同的,任何一种都可以用另一种来模拟。从表面上看,它们很不相同,可是,每一种都有强项和弱点。例如,SVG 绘图很容易编辑,只要从其描述中移除元素就行。
要从同一图形的一个 <canvas> 标记中移除元素,往往需要擦掉绘图重新绘制它。
学习canvas:
http://www.w3school.com.cn/tags/html_ref_canvas.asp
https://blog.csdn.net/u012468376/article/details/73350998
学习VML:https://blog.csdn.net/yinxianluo/article/details/45334837