【发布时间】:2011-08-18 11:17:39
【问题描述】:
动态创建元素并能够移动它们的最佳方法是什么?例如,假设我想创建一个矩形、圆形和多边形,然后选择这些对象并移动它们。
我了解 HTML5 提供了三个元素来实现这一点:svg、canvas 和 div。对于我想做的事情,其中哪一个元素将提供最佳性能?
为了比较这些方法,我正在考虑创建三个外观相同的网页,每个网页都有页眉、页脚、小部件和文本内容。第一个页面中的小部件将完全使用canvas 元素创建,第二个完全使用svg 元素创建,第三个使用纯div 元素、HTML 和CSS。
【问题讨论】:
-
你可能会觉得这很有趣:Thoughts on when to use Canvas and SVG.
-
对于那些刚接触此技术的人,video 涵盖了 SVG 和 Canvas 以及有关如何与 html5 集成的其他详细信息。
-
简答:Canvas 之于 MS Paint 就像 SVG 之于 MS Powerpoint。画布是光栅,SVG 是矢量。
-
亲爱的读者:对这里的所有比较和陈述持保留态度,并查看帖子和 cmets 的日期。时代变了,也会变。相对性能甚至您拥有的选项都会改变。例如。大多数答案都是在没有 WebGL 时编写的,这绝对是一种替代方案 - 它也会在几年内过时,但截至今天它可能非常相关。
-
@Sebastian 今天你会推荐哪个?如果给定一个基本尺寸(例如 1280x800),并且如果您愿意在代码中手动缩放元素或一直使用百分比,那么使用 DIV 是否有 SVG 的优势?
标签: javascript html svg html5-canvas