css3.0 过渡和动画

过渡 transition

属性 版本 继承性
transition CSS3
transition-property CSS3
transition-duration CSS3
transition-timing-function CSS3
transition-delay CSS3
/*缩写方式:*/
transition:
        border-color .5s ease-in .1s,
        background-color .5s ease-in .1s,
        color .5s ease-in .1s;
/*拆分方式:*/
transition-property: border-color, background-color, color;
transition-duration: .5s, .5s, .5s;
transition-timing-function: ease-in, ease-in, ease-in;
transition-delay: .1s, .1s, .1s;

/*缩写方式:*/
transition: all .5s ease-in .1s;
/*拆分方式:*/
transition-property:all;
transition-duration: .5s;
transition-timing-function: ease-in;
transition-delay: .1s;

动画 animation

属性 版本 继承性 描述 取值
animation CSS3 复合属性。检索或设置对象所应用的动画特效
animation-name CSS3 检索或设置对象所应用的动画名称
animation-duration CSS3 检索或设置对象动画的持续时间 number:指定时间单位(s)
animation-timing-function CSS3 检索或设置对象动画的过渡类型 ease
animation-delay CSS3 检索或设置对象动画延迟的时间 number:指定时间单位(s)
animation-iteration-count CSS3 检索或设置对象动画的循环次数 number:指定次数,infinite:无限循环
animation-direction CSS3 检索或设置对象动画在循环中是否反向运动 normal:正常方向,reverse:反方向运行,alternate:动画先正常运行再反方向运行,并持续交替运行,alternate-reverse:动画先反运行再正方向运行,并持续交替运行
animation-play-state CSS3 检索或设置对象动画的状态 running:运动,paused:暂停
animation-fill-mode CSS3 检索或设置对象动画时间之外的状态 none:默认值。不设置对象动画之外的状态,forwards:设置对象状态为动画结束时的状态,backwards:设置对象状态为动画开始时的状态,both:设置对象状态为动画结束或开始的状态

animation-timing-function 取值
linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)
ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
step-start:等同于 steps(1, start)
step-end:等同于 steps(1, end)
steps( [, [ start | end ] ]?):接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
cubic-bezier( , , , ):特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内

animation: single-animation-name 
      time 
      single-animation-timing-function 
      time single-animation-iteration-coun 
      single-animation-direction 
      single-animation-fill-mode 
      single-animation-play-state;
animation: roll 3s ease-in 1s infinite both 

@keyframes

示例代码:
@keyframes testanimations {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes testanimations{
    0% { transform: translate(0, 0); }
    20% { transform: translate(20px, 20px); }
    40% { transform: translate(40px, 0); }
    60% { transform: translate(60px, 20px); }
    80% { transform: translate(80px, 0); }
    100% { transform: translate(100px, 20px); }
}

推荐动画库:动画库

你可能感兴趣的:(css3.0 过渡和动画)