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

 2729

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


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


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

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

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

CSS 语法

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 从父元素继承该属性。


示例如下:

<html>
<head>
<meta charset="utf-8"> 
<title>123</title> 
<style> 
div 
{
  width:100px;
  height:100px;
  background:red;
  position:relative;
  animation:mymove 3s;
  animation-iteration-count:2;
  animation-fill-mode:forwards;
  /* Safari 和 Chrome */
  -webkit-animation:mymove 3s;
  -webkit-animation-iteration-count:2;
  -webkit-animation-fill-mode:forwards;
}
@keyframes mymove 
{
  from {top:0px;}
  to {top:200px;}
}
@-webkit-keyframes mymove /* Safari 和 Chrome */
{
  from {top:0px;}
  to {top:200px;}
}
</style>
</head>
<body>
  <p><strong>注意:</strong>Internet Explorer 9 及其之前的版本不支持 animation-fill-mode 属性。</p>
  <div></div>
</body>
</html>

输出结果:


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

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

评论(0)条

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

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

    编辑推荐