Canvas 和 SVG 之间的主要相似点为:
它们都是有效的图形工具,可用来快速创建在网页中显示的轻型图形;它们都使用 JavaScript 和 HTML;它们都遵守万维网联合会 (W3C) 标准。
这两种技术之间的主要区别是:
Canvas 是基于像素的即时模式图形系统,最适合较小的表面或较大数量的对象,canvas不支持鼠标键盘等事件
SVG 是基于形状的保留模式图形系统,更加适合较大的表面或较小数量的对象。Canvas 和 SVG 在修改方式上还存在着不同。绘制 Canvas 对象后,不能使用脚本和 CSS 对它进行修改。
但是,因为 SVG 对象是文档对象模型的一部分,所以可以随时使用脚本和 CSS 修改它们。