CSS3怎么实现动画结束不消失效果

 4057

css3中,可利用“animation-fill-mode”属性实现动画结束不消失效果,该属性可规定动画不播放时元素的样式,当属性设置为forwards时,动画效果不消失,语法为“animation-fill-mode:forwards”。


CSS3怎么实现动画结束不消失效果


css3怎么实现动画结束不消失效果

animation-fill-mode 属性规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

默认情况下,CSS 动画在第一个关键帧播放完之前不会影响元素,在最后一个关键帧完成后停止影响元素。animation-fill-mode 属性可重写该行为。

CSS 语法

  1. animation-fill-mode: none|forwards|backwards|both|initial|inherit;

none 默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。

forwards 在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。

backwards 动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 "normal" 或 "alternate" 时)或 to 关键帧中的值(当 animation-direction 为 "reverse" 或 "alternate-reverse" 时)。

both 动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。

initial 设置该属性为它的默认值。

inherit 从父元素继承该属性。


示例如下:

  1. <html>
  2. <head>
  3. <meta charset="utf-8"> 
  4. <title>123</title> 
  5. <style> 
  6. div 
  7. {
  8.   width:100px;
  9.   height:100px;
  10.   background:red;
  11.   position:relative;
  12.   animation:mymove 3s;
  13.   animation-iteration-count:2;
  14.   animation-fill-mode:forwards;
  15.   /* Safari 和 Chrome */
  16.   -webkit-animation:mymove 3s;
  17.   -webkit-animation-iteration-count:2;
  18.   -webkit-animation-fill-mode:forwards;
  19. }
  20. @keyframes mymove 
  21. {
  22.   from {top:0px;}
  23.   to {top:200px;}
  24. }
  25. @-webkit-keyframes mymove /* Safari 和 Chrome */
  26. {
  27.   from {top:0px;}
  28.   to {top:200px;}
  29. }
  30. </style>
  31. </head>
  32. <body>
  33.   <p><strong>注意:</strong>Internet Explorer 9 及其之前的版本不支持 animation-fill-mode 属性。</p>
  34.   <div></div>
  35. </body>
  36. </html>

输出结果:


CSS3怎么实现动画结束不消失效果

TAG标签:
本文网址:https://www.zztuku.com/index.php/detail-11422.html
站长图库 - CSS3怎么实现动画结束不消失效果
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐

    如何在Vue中实现拖拽上传文件