认识 CSS animation 与他的孩子们 (一)

keyframes 定义关键影格的各自状态,不同关键影格组成动态变化,但我们在定义keyframes时,使用的是from / to 或0%~100%之间,少了一个相当重要的元素「时间」,在CSS的世界中,是在要使用的网页元件上时,提供此动态的时间数值。

因此,最单纯的animation的使用方式就是放入好朋友keyframes的名字,和不可或缺的时间:

.my-div{
animation: my-animation 3s;
}

@keyframes my-animation{
  0%{
      opacity:0;
    }
  100%{
      opacity:1;
    }
}

刚刚内容也可以用子属性animation-name和animation-duration改写:

.my-div{
animation-name: my-animation;
animation-duration: 3s;
}

备注:若要同时使用多个定义好的keyframes,使用逗点隔开即可同时使用。


animation属性包含了多个子属性(sub-properties),除了name和duration外,还有以下项目可以依照需求进行设定:

  • animation-timing-function:定义变化的速率,预设值为linear(平均速率变化),另外可以使用step、cubic-bezier和定义好的ease/ease-in/ease-out/ease-in-out。
  • animation-delay:定义网页元件读取完毕後,动画开始的间隔时间,用於产生延迟效果。
  • animation-iteration-count:设定动画的重复次数,使用「infinite」即可达成重复播放。
  • animation-direction:定义动画播放完毕後是否需反向播放。共有normal、reverse、alternate、alternate-reverse四个值可以设定。
  • animation-fill-mode:定义元素在动画播放外的状态。共有none、forwards、backwards、both四个值可以设定。
  • animation-play-state:控制动画的播放状态。有 pause 和 running 两个值,预设为running。

除了使用子属性外,也可全部写在 animation 中:

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

备注:name 和 duration 为必要值。


<<:  Day7:如何使用Parrot Security的hping3扫描网路

>>:  第十六天:在 TeamCity 上执行静态分析

C# 入门之函数(补充)

前面我们有讲过 C# 中的函数,今天我们补充一点。 在 C# 中,支持一种函数叫做 “匿名函数”,即...

如何设计SQL 表格来提升查询非过往历史资料的效能?

个人正在写一个场地租借系统, 提前开放2周给人预约, 租借的过期纪录要保留起来作系统或规则改善研究,...

mostly:functional 第二十八章的试炼: Applicative 的证明

小测验 我们在上一章的最开始,示范了元组上的 <*>,其中有一条是这样写的: pure ...

Day44 ( 游戏设计 ) Flappy Bird

Flappy Bird 教学原文参考:Flappy Bird 这篇文章会介绍,如何在 Scratch...

Day 18:AWS是什麽?30天从动漫/影视作品看AWS服务应用 -《新世纪福音战士》

身为机人控,《新世纪福音战士》真的是爱作XD虽然可能有人看不太懂,或是被结尾粪作气到。但作为机器人动...