Skip to content
快看这页儿写了啥...

Canvas 和 SVG 有什么区别?

题干

  • Canvas

  • SVG

题解

CanvasSVG 都是用于在网页上绘制图形的技术,但它们之间存在一些区别。

  • Canvas 是基于像素的,而 SVG 是基于矢量的。这意味着当你放大一个 Canvas 绘制的图形时,它会变得模糊不清,而 SVG 绘制的图形则不会失真¹。

  • SVG 支持事件处理器,这意味着你可以为 SVG 元素添加鼠标点击或悬停等交互事件,而 Canvas 不支持事件处理器³。

  • Canvas 是使用 JavaScript 程序绘图 (动态生成),而 SVG 是使用 XML 文档描述来绘图²。

总之,两者各有优缺点,适用于不同的场景。例如,如果你需要创建一个动态渲染且对性能要求较高的图形应用程序,那么 Canvas 可能是一个更好的选择;而如果你需要创建一个静态图片展示且对交互性要求较高的应用程序,那么 SVG 可能更适合你的需求。

贡献者

isboyjc's avatar isboyjc

浏览量(PV)  次  ·  独立访客(UV)  人次
不正经的前端 | 八股 · 欢迎 star ⭐