WEB 动画的一些实现方式
WEB 的动画实现多种多样,随着H5 的发展,实现动画的方式越来越多了。初步统计实现动画的方式有以下一些方式实现
一、GIF动画
通常咱们社交聊天的一些动态表情,大多都是gif动画。
GIF(Graphics Interchange Format)的原义是“图像互换格式”,GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。GIF格式可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
GIF 分为静态GIF和动画GIF两种,扩展名为.gif,是一种压缩位图格式,支持透明背景图像,适用于多种操作系统,“体型”很小,网上很多小动画都是GIF格式,其实GIF是将多幅图像保存为一个图像文件,从而形成动画,最常见的就是通过一帧帧的动画串联起来的搞笑gif图,所以归根到底GIF仍然是图片文件格式。
GIF制作方式可以通过PS制作,或者通过图片、视频、FLASH转换
缺点:高清的gif体积较大。压缩后的体检较小的会失帧。交互差,实质上他就是一个会动的图片
二、FLASH动画 / SilverLight
FLASH
Flash非常强大,它们包含丰富的视频、声音、图形和动画。利用Flash可以制作各种各样非常华丽的动画,和视频,但是由于各种原因,2012年8月15日,Flash退出Android平台,正式告别移动端。2015年12月1日,Adobe将动画制作软件Flash professional CC2015升级并改名为Animate CC 2015.5,从此与Flash技术划清界限。
很早之前在各种企业门户的首页大图轮播基本都是使用flash,早几年12306的购票网站首页的顶部的大图也是用的flash,如今都换成了静态的图片。这种技术逐渐淡出了视野,只有在线视频直播如 优酷,爱奇艺等视频网站。
缺点:基于flash播放器来播放,flash播放器非常耗性能,经常报各种漏洞
SilverLight
Microsoft Silverlight是一个跨浏览器的、跨平台的插件,是一种新的Web呈现技术,能在各种平台上运行。借助该技术,您将拥有内容丰富、视觉效果绚丽的交互式体验,而且,无论是在浏览器内、还是在桌面操作系统(如Windows和Apple Macintosh)中,您都可以获得这种一致的体验。
缺点:以浏览器插件的形式来支持动画,开发起来不那么容易。了解下有这个东东就够了哈
三、Javascript + HTML
原理: 其主要思想是通过setInterval或setTimeout方法的回调函数来持续调用改变某个元素的CSS样式以达到元素样式变化的效果。
Jquery的animate()方法就是这种方式实现的。
缺点:javascript 实现动画通常会导致页面频繁性重排重绘,消耗性能,一般应该在桌面端浏览器。在移动端上使用会有明显的卡顿
16ms的问题:一般认为人眼能辨识的流畅动画为每秒60帧,这里16ms比(1000ms/60)帧略小一些,但是一般可仍为该动画是流畅的。
在很多移动端动画性能优化时,一般使用16ms来进行节流处理连续触发的浏览器事件。例如对touchmove、scroll事件进行节流等。通过这种方式减少持续事件的触发频率,可以大大提升动画的流畅性
四、SMIL
SMIL特性:
程序以开始,以结束,整个程序由body和head两个部分组成,SMIL要求其标记和标记的属性必须小写!有些标记必须有一斜杠作为结束标记,属性值必须用双引号括起来,SMIL文件的拓展名为.smil或者.smi。
嵌入html
向 标签添加命名空间定义,添加一个 元素,以导入 "time" 命名空间,添加一个定义 "time" 类的