首页 >web前端 >前端问答 >css3怎么实现动画结束不消失效果

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

WBOY
WBOY原创
2022-03-29 17:06:502962浏览

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

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

本教程操作环境:windows10系统、CSS3&&HTML5版、Dell G3电脑。

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>

输出结果:

+6.gif

(学习视频分享:css视频教程

以上是css3怎么实现动画结束不消失效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn