随着css3逐渐被各大浏览器全面支持,移动端的动画可以借助css3,从而避开js的运动实现。再配合canvas、svg等技术,在移动端做出酷炫的动效已经不是什么难题了。
###transition动画
准备的说,transiton不算动画,transiton是
过渡
的意思。css本身的状态变化是即时完成的,css3提供的transiton就是让这个变化有个过程,这样就产生了过渡的动画。
|
|
transion简单易用,但是有局限的:
- transition需要事件触发,所以没法在网页加载时自动发生。这一度被认为是transition的bug.详细的单独看《transition自动加载问题》
- transition是一次性的,不能重复发生,除非一再触发。
- transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。
要解决这些问题,animation被提出来了。
##animation动画
animation是真正的动画,是基于
帧
的动画(感觉跟flash差不多),所以很强大。
animation参数详解:
animation:animation-name | animation-duration | animation-timing-function | animation-delay |animationiteration-count | animation-direction
|
|
tips:animation动画只有在active状态下才起作用(display:block),如果元素display:none,animation不起作用,利用这一点,可以做翻屏一页页的动画形式。原理就是给当前的page加active标志
##Animate.css
Animate.css是一个css3的动画库,可以方便的做出一些常见的动画。当我们需要使用其中一种动画时候,把对应的动画keyframes部分代码拿出来即可。
|
|
##插件
一些特殊的效果借助于插件将更便捷的实现。
####页面切换
zepto.onepagescroll
jquery.onepage-scroll
##总结
动画重在积累,平时看到好的动画效果一定要研究下,储藏起来。等到用的时候才会顺手。