在 web 中,实现动画的方式有哪些?各自的利弊如何
答案:2 悬赏:10 手机版
解决时间 2021-11-12 12:35
- 提问者网友:放下
- 2021-11-11 18:41
在 web 中,实现动画的方式有哪些?各自的利弊如何
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-11-11 20:01
在Web里做动画选择其实已经很多了:
可以用 Flash 技术来做动画;
可以用 GIF 来做一个无需交互的动画;
可以用 CSS3 的 animation;
也可以用 CSS3 的 transition;
也可以用 SVG 来做动画;
甚至 CSS2 的hover也可以实现简单的动画;
还可以用通过在 Canvas 上作图来实现动画;
也可以借助jQuery.animate方便地实现动画;
Flash动画
不可否认,目前为止,Flash制作的动画在互联网还是占据了庞大的数量,几乎可以实现任何你想要的动画,甚至很多复杂的游戏都是用Flash实现,如果不是随着移动端的兴起,估计Flash会一直火热下去。
GIF动画
在以前,对于一些广告动画和一些小的icon动画之类的,GIF确实是不错的选择,体积还可以接受,制作也简单。但有GIF有一个致命的弱点就是不支持交互以及高清晰度的渲染,逐步的被JS和CSS3所替代。
CSS Hover动画
通过:hover我们可以实现一个滑动逐级展现的菜单,虽然非常简单,但这个是动画的雏形,在hover中,我们几乎可以为元素应用所有的css属性,并且兼容性不错。不过在ie6下只有a标签支持:hover。
Javscript动画
因为没有其它可用的实现方式,最初的前端动画都是JS来实现,实现上就是通过一个定时器setInterval每隔一定时间来改变元素的样式,动画结束时clearInterval即可。
尽管这种方式动画的可控性很强,但是问题也很明显:
1.性能不佳,因为需要不断获取和修改Dom的布局,所以导致了大量页面重排(repaint)。
2.缺乏标准,不同的库使用了不同的API,导致即使是简单的动画也有各不相同的实现方式,调整起来比较耗时。
3.带宽消耗,一个简单动画也需要引入一个类库,相对丰富的动画,代码量都很大,结果就是增加了http请求的大小,降低了页面的载入时间。
CSS3动画
CSS3动画相比与JS更轻量,性能更好,更易于实现,同时也不必担心缺乏标准和增加带宽消耗的问题。animation 相比 transtion 使用起来更为复杂,但也提供了更多的控制,其中最重要的就是 frame 的支持,不过通过一些简单的JS库
可以用 Flash 技术来做动画;
可以用 GIF 来做一个无需交互的动画;
可以用 CSS3 的 animation;
也可以用 CSS3 的 transition;
也可以用 SVG 来做动画;
甚至 CSS2 的hover也可以实现简单的动画;
还可以用通过在 Canvas 上作图来实现动画;
也可以借助jQuery.animate方便地实现动画;
Flash动画
不可否认,目前为止,Flash制作的动画在互联网还是占据了庞大的数量,几乎可以实现任何你想要的动画,甚至很多复杂的游戏都是用Flash实现,如果不是随着移动端的兴起,估计Flash会一直火热下去。
GIF动画
在以前,对于一些广告动画和一些小的icon动画之类的,GIF确实是不错的选择,体积还可以接受,制作也简单。但有GIF有一个致命的弱点就是不支持交互以及高清晰度的渲染,逐步的被JS和CSS3所替代。
CSS Hover动画
通过:hover我们可以实现一个滑动逐级展现的菜单,虽然非常简单,但这个是动画的雏形,在hover中,我们几乎可以为元素应用所有的css属性,并且兼容性不错。不过在ie6下只有a标签支持:hover。
Javscript动画
因为没有其它可用的实现方式,最初的前端动画都是JS来实现,实现上就是通过一个定时器setInterval每隔一定时间来改变元素的样式,动画结束时clearInterval即可。
尽管这种方式动画的可控性很强,但是问题也很明显:
1.性能不佳,因为需要不断获取和修改Dom的布局,所以导致了大量页面重排(repaint)。
2.缺乏标准,不同的库使用了不同的API,导致即使是简单的动画也有各不相同的实现方式,调整起来比较耗时。
3.带宽消耗,一个简单动画也需要引入一个类库,相对丰富的动画,代码量都很大,结果就是增加了http请求的大小,降低了页面的载入时间。
CSS3动画
CSS3动画相比与JS更轻量,性能更好,更易于实现,同时也不必担心缺乏标准和增加带宽消耗的问题。animation 相比 transtion 使用起来更为复杂,但也提供了更多的控制,其中最重要的就是 frame 的支持,不过通过一些简单的JS库
全部回答
- 1楼网友:酒者煙囻
- 2021-11-11 20:35
学好3DMAX PHTOTSHOP MAYA技术 这是最主要的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯