9种网页动画常用实现方式总结

随着HTML5的发展,网页动画实现方式多样化,包括GIF、Canvas、SVG、CSS3、APNG、SMIL、Video、JavaScript和Flash。每种方式都有其优缺点,如GIF的兼容性好但画质差,Canvas功能强大但编程难度高,CSS3闪亮但功能有限。本文对这些技术进行了总结和评分,并期待与Canvas和SVG专家交流。
摘要由CSDN通过智能技术生成

随着HTML5的逐步普及,在Web页上实现动画的方式也增加了,但也带来了一些兼容性问题,本文做一个总结。

目前来说,没有一种方式是完美的。

GIF兼容性最好,但是画质差,无交互。

Canvas很火热,功能也强大,编程难度也稍高,旧IE不支持。

SVG擅长处理矢量图形,交互容易,旧IE不支持。

CSS3很闪亮,但功能有限,旧IE不支持。

APNG, SMIL 还需看将来各浏览器的支持进展。

Video也华丽,只是一个视频要准备多种文件格式,令人不爽。

Javascript是个万金油,只要做交互,他还是一员大将。

Flash很强大,但前途暗淡,移动端不給力。

序号名称简述优点缺点适用场景
1GIF动画这是最历史悠久的方式了,GIF89a也已经过了专利期限,现在使用没有法律问题了。文件小、工具多、浏览器兼容性好、资源占用少。支持颜色少(最大256色)、Alpha透明度支持差,导致图像锯齿毛边比较严重。适用于颜色少、画面简单的场合
2Flash / SilverLight 等通过浏览器plugin来支持特定文件格式的动画。跨浏览器、处理复杂动画无压力需要安装插件、移动设备不支持、占用资源多、易导致浏览器崩溃桌面系统、复杂的动画
3Javascript + HTML通过js动态修改DOM节点及属性来实现动画。兼容性好(桌面端、移动端都行)需要搭配CSS,JS,图片等文件,运行效率不高兼容性重要、计算量不大的动画
4Javascript + Canvas / WebGL通过Canvas 2D/3D Context来绘图运行效率高、工具支持好、功能够强大、可硬件加速旧IE不支持,现代浏览器支持情况有所差异,交互麻烦可以无视IE678的场合
5Javascript + SVG通过js动态修改SVG节点及属性来实现动画。编程简单,绘图容易,功能强大,交互方便旧IE不支持,现代浏览器支持情况有所差异要求矢量图形的场合,且可以无视IE678
6SVG+SMIL通过完全的SVG标签式的语言来编写动画编程简单,无需JS旧IE不支持,现代浏览器支持情况也相差巨大,仅Firefox支持较好Firefox
7APNG比GIF动画更先进的动画图像文件格式,支持真彩色,支持alpha透明画质高、单文件、资源占用少。浏览器支持差,只支持逐帧动画,不能交互Firefox, Opera
8CSS3通过CSS直接实现动画效果标准化、资源占用少。旧IE不支持,现代浏览器支持情况有所差异,交互功能弱现代浏览器
9Video通过HTML5视频来实现动画标准化、资源占用少。旧IE不支持,现代浏览器支持情况有所差异,交互麻烦现代浏览器

用Video来做动画?没听错,确实有!今天早上打开Bing.com就是的,刚开始以为是CSS3,查看一下发现是个Video.

上面表格看起来还是有些不爽,还是弄一个评分的简单表吧,如下:

序号名称格式桌面端
兼容性
移动端
兼容性
IE 6/7/8交互效率资源占用
1GIF动画二进制非常好非常好支持
2Flash / SilverLight 等二进制非常好非常差支持容易
3Javascript + HTML纯文本非常好非常好支持容易
4Javascript + Canvas纯文本一般不支持
5Javascript + SVG纯文本一般不支持容易
6SVG+SMIL纯文本非常差不支持容易
7APNG二进制非常差非常差不支持
8CSS3纯文本一般不支持
9Video二进制一般一般不支持

以上仅是个人浅见之中的不完全表达,欢迎指正。

另外,强烈期待Canvas高手、SVG高手与我交流。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值