animation-timing-function: steps(n, [start/end])

animation-timing-function: steps(n, [start/end])。步进动画,动画从开始到结束不是平滑过渡的,而是一步一步执行,呈现出一种跳跃式的动画。
n:表示动画的步数,或者更专业点,阶梯数。动画执行时间会按照这个阶梯数进行划分。
start:元素动画第一步还没开始执行前,就跳跃到下一步的位置,从下一步的位置开始计时,下一步变成了第一步
end:默认值,元素动画最开始的位置就是第一步。
举例1:

#pic1{
    display: flex;
    position: relative;
  }
  #pic1 div{
    width: 100px;
    height: 100px;
    background-color: rgb(218, 32, 125);
  }
  #pic1 div::after{
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    background-color: rgb(41, 172, 52);
    position: absolute;
    left: 0;
    top: 0;
    animation: move 6s steps(6,start); /*6s内走6步,每步走100px*/
    /*animation: move 6s steps(6); 6s内走6步,每步走100px*/
  }
  @keyframes move {
    to{
      transform: translateX(600px);
    }
  }

<div id="pic1">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

举例2:

#pic {
    height:90px;
    width:65px;
    background-position: -40px -44px;
    background-image: url("https://static.runoob.com/images/mix/space-to-top.png");
    /* animation: .6s go steps(7) infinite; */
    animation: 6s go steps(7) infinite;
  }

  @keyframes go  {
    0% {
        background-position-x: -40px;
    }
    100% {
        background-position-x: -1040px; /*走完1000px长度花7次,每次大约走143px,第一步从-40px开始,第二步-182px,-322px,-465px,-608px,-751px,-894px结束*/
    }
  }
<div id="pic"></div>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 动画可以分为两种 补间动画 – 具有连贯性的动画 逐帧动画 – 使用steps过渡方式实现跳跃 定义和用法 ani...
    EJRoxy阅读 1,341评论 0 0
  • 还可以参考这篇:http://www.cnblogs.com/shenfangfang/p/5713564.htm...
    Mandy_jin阅读 1,209评论 0 3
  • 背景 一日敲代码的我,得到一个需求:写一个10秒的倒计时。 用JavaScript定时器麻溜写完之后,恰好同事勇司...
    车大棒阅读 2,376评论 5 12
  • 一般使用animation都是实现线性渐变的动画,比如: 1.位置在固定的时间从起点到终点 2.尺寸在固定的时间线...
    kabem阅读 658评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,575评论 16 22