CSS3的animation

html-css019

CSS3的animation,第1张

animation: 属性是一个简写属性,用于设置六个动画属性:

animation: name duration timing-function delay iteration-count direction

对应上面的属性意思: 动画名称 动画执行时间 动画速度曲线 延迟时间 执行次数 执行方向

nternet Explorer 10、Firefox 以及 Opera 支持 animation 属性。

Safari 和 Chrome 支持替代的 -webkit-animation 属性。

注释:Internet Explorer 9 以及更早的版本不支持 animation 属性。

animation-name: keyframename|none动画名称

keyframename 自定义的名字

none 无动画效果

animation-duration: time动画执行时间

time 秒或毫秒

animation-delay:time动画效果延迟时间

time 秒或毫秒

animation-timing-function: value动画速度曲线

linear:规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。

ease:规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。

ease-in:规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。

ease-out:规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。

ease-in-out :规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。

cubic-bezier(n,n,n,n):在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

animation-iteration-count: n|infinite动画执行次数

n 具体的次数

infinite 无限重复

animation-direction: normal|alternate动画执行方向

normal 正常顺序(默认值)

alternate 动画轮流反向播放

animation-play-state: paused|running动画执行状态

paused 暂停动画

running 运行动画

animation-fill-mode : none | forwards | backwards | both动画执行过程效果是否可见

none 不改变(默认值)

forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)

backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)

both 向前和向后填充模式都被应用

当我们给元素添加Animation后,动画总是现在元素的初始位置显示一下,然后再跳到动画的起始位置播放,这样的话会很难看。

解决方法:

使用animation-fill-mode:forwards属性

forwards参数意思为 元素将在动画延迟结束后 初始位置显示在 动画关键帧的最后一帧定义的位置

backwards参数意思为 元素将在动画延迟结束后 初始位置显示在 动画关键帧的第一帧定义的位置

上边样式的将变现为,class为phone的元素会在加载完成后,从它的定义位置靠下5rem开始动画。

js中赋值nimation-fill-mode:forwards的方法:

object .style.animationFillMode=none | forwards | backwards | both