HTML中的触发动画和主动动画

触发式动画

常用触发动作
1:鼠标悬浮(:hover)
2:选项选中(:checked)
3:输入框点击(:active)
… …

触发式(过渡)动画原理之动画参数

过渡动画时间:transition-duration。

定义一个动画从第一帧到最后一帧的动画时间,浏览器会根据该时间生成对应数量的中间帧数
例:
1:transition-duration:0.5s; 帧数=0.5s60帧/s=30帧
2:transition-duration:5s; 帧数=5s
60帧/s=300帧

过渡动画延迟:transition-delay

定义动画从触发动作执行的一瞬间,延迟多长时间开始展示动画,默认延迟为0,即动作一执行立马就展示动画

例:
1:transition-delay:1s; 那么动画会在动作执行的1s后开始执行

过渡动画时间函数: transition-timing-function

定义动画从第一帧到最后一帧变化过程的速率变化

注:贝塞尔曲线 http://cubic-bezier.com

过渡动画属性: transition- property
定义元素是以某个属性的变化作为动画的变化效果(如,宽度的变化, 高度的变化等), 第一帧和最后一帧代表的就是该属性的值的变化(比如width的值从第一帧的100px,到最后一帧的500px)

复合写法:过渡动画综合属性:属性名称 过渡时间 过度动画时间函数 动画延迟时间;

定义元素是以某个属性的变化作为动画的变化效果(如,宽度的变化, 高度的变化等), 第一帧和最后一帧代表的就是该属性的值的变化。

主动式动画

**主动式动画:**由用户自行创造关键帧,无需任何的动作触发,与触发式动画的不同:用户可以自行创造多个关键帧,用来更加精细化的控制动画的整个过程

**动画激活:**给需要展示用户自行创造的主动式动画的元素加上animation-name(动画-名称)样式
主动式动画名称:animation-name:;

@keyframes onepiece{}/* 创造了名为onepiece的动画 */

div.animte{
animation-name:onepiece;/将该动画赋予给div元素展示/
}

主动式动画时间定义一个动画从第一帧到最后一帧的动画时间,浏览器会根据该时间生成对应数量的中间帧数:animation-duration

主动式动画时间函数: animation-timing-function

时间函数:定义动画从第一帧到最后一帧变化过程的速率变化(参照贝塞尔曲线)

主动式动画时间延迟: animation-delay

定义动画从触发动作执行的一瞬间,延迟多长时间开始展示动画,默认延迟为0,即动作一执行立马就展示动画

主动式动画播放次数: animation-iteration-count

规定动画被播放的次数。默认是 1。
infinite:无限循环 。

主动动画原理之多次播放动画时的的正反方向

animation-direction:规定动画是否在下一周期逆向地播放。

默认是 “normal”,每一次都是正向播放

revers为负方向。

复合写法:

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

动画:名称 时长 时间函数 延迟 次数 方向