一个CSS3 动画执行完成后的问题...

例:

在执行完一段css3动画后需要隐藏这个元素如何操作?也就是让它不重复动作.

使用animation参数forwards无效.

注:前提是不使用jQuery情况下能做到么?

阅读 20.2k
5 个回答

这个隐藏的话可以设置opacity:0

我们可以让一个元素的默认opacity=0

把动画放到一个一个类上,然后给把这个类付给这个属性

@keyframes ani{
    0%{opacity: 1}//此处显示转换为1 动画结束后就会自动隐藏了,因为元素的opacity为0,应该使用 display也可以,但我没用过,因为display没有动画效果
}

可以使用js的定时器。把定时器时间设置成和css动画时间一样就行了

挖坟。
用纯CSS的方式

@keyframes hide {
    0% {
        width: 100%;
        height: 100%;
        opacity: 1; 
    }
    99% {
        width: 100%;
        height: 100%;
        opacity: 0; 
        
    }
    100% {
        width: 0;
        height: 0;
        opacity: 0;
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题