CSS3动画

978 词
CSS3动画

CSS3动画#

动画(animation) 是CSS3中具有颠覆性的特征之一,可以通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。

相比较过渡,动画可以实现更多变化,连续自动播放等效果。

动画的基本使用#

制作动画分为两步:

  1. 先定义动画

    用keyframes定义动画(类似定义类选择器)#

    @ketframes 动画名称{
      0%{
        width:100px;
      }
      100%{
        width:200px;
      }
    }
  2. 再使用(调用)动画

    元素使用动画(CSS)#

    .move{
      animation-name:动画名称;
      animation-duration:持续时间;
    }

动画序列#

  • 0%是动画的 开始 ,100%是动画的 完成 ,这样的规则就是 动画序列
  • @keyframes 中规定某项CSS样式,就能创建有当前样式逐渐改为新样式的动画效果
  • 动画是使元素从一种样式逐渐变化为另一种样式的效果,可以改变任意多的样式任意多的 次数
  • 使用百分比来规定变化发生的时间,或使用关键词 "from""to" ,等同于 0%100%

动画常用属性#

属性 描述
@keyframes 规定动画
animation 所有动画属性的简写属性,除了animation-play-state属性。
animation-name 规定@keyframes动画的名称。(必须的)
animation-duration 规定动画完成一个周期所花费的秒或毫秒,默认是0。(必须的)
animation-timing-function 规定动画的速度曲线,默认是'ease'。
animation-delay 规定动画何时开始,默认是0
animation-iteration-count 规定动画被播放的次数,默认是1,还有infinite
animation-direction 规定动画是否在下一周期逆向播放,默认是"normal",alternate逆播放
animation-play-state 规定动画是否正在运行或暂停,默认是"running",还有"paused"
animation-fill-mode 规定动画结束后状态,保持forwards回到起始backwards

动画简写属性#

animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否逆向 动画起始或结束的状态;

animation:move 5s linear 2s infinite alternate

速度曲线调节#

animation-timing-function:规定动画的速度曲线,默认是"ease"

描述
linear 动画从头到尾的速度是相同的,匀速的
ease 默认,动画以低速开始,然后加快,在结束前变慢。
ease-in 动画以低速开始。
ease-out 动画以低速结束
ease-in-out 动画以低速开始和结束
steps() 指定了时间函数中的间隔数量(步长)
不愧是你哇无敌大帅逼