animation-fill-mode

animation-fill-mode

老师,试了很多例子,但还是有点不太理解这几个属性的效果

backwards   在动画延时或未播放呈现动画开始的状态 (第一帧)

但是动画未播放之前不就是本身的样子吗?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕码 2020-02-03 11:29:52

同学你好,在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。如果这几个属性不太清楚的话,可以对比着来看下:

http://img1.sycdn.imooc.com//climg/5e379352096ce45b03880608.jpg

forwards和both使得第二个元素和第三个元素,在动画结束后仍然保持动画最后一帧的状态。而第一个元素没有。

backwards和both使得第一个元素和第三个元素,在动画添加后都立即变为动画第一帧的状态。而第二个元素没有应用第一帧的状态。

both 在动画开始之前,保持为第一帧状态,在动画结束后,保持为最后一帧的状态

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    div{
      width: 100px;
      height: 100px;
      background: red;
      border: 1px solid green;
      margin: 10px;
    }
    .div1{
        animation:mood 1s linear 1s backwards;
    }
    .div2{
        animation:mood 1s linear 1s forwards;
    }
    .div3{
        animation:mood 1s linear 1s both;
    }
    @keyframes mood{
      0%{
        transform: translateX(-50px);
      }
       50%{
        transform: translateX(0px);
      }
       100%{
        transform: translateX(50px);
      }
    }
  </style>
</head>
<body>
    <div class="div1">1</div>
    <div class="div2">2</div>
    <div class="div3">3</div>
</body>
</html>

同学可以测试下如上代码,通过效果来区分属性。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师