【发布时间】:2015-07-17 21:50:41
【问题描述】:
这是一个可以玩的小提琴:https://jsfiddle.net/qgchhn99/
我正在尝试延迟动画和过渡,但由于某种原因它不起作用。动画和不透明度过渡会立即运行,而不是等待 4 秒。
我收到了一条在提交表单时出现的状态消息(类是动态添加的):
<p class="success success--auto-hide">Some message</p>
然后我有这个动画,它会在 4 秒后隐藏元素:
@-webkit-keyframes cssAnimation {
to {
width: 0;
height: 0;
overflow: hidden;
visibility: hidden;
}
}
@keyframes cssAnimation {
to {
width: 0;
height: 0;
overflow: hidden;
visibility: hidden;
}
}
不过,我也希望隐藏平滑,所以我在opacity 上添加了一个过渡以及隐藏动画:
.success {
color: green;
opacity: 1;
-webkit-transition-delay: 4s;
transition-delay: 4s;
-webkit-transition: opacity 4s ease-in-out;
transition: opacity 4s ease-in-out;
}
.success--auto-hide {
opacity: 0;
-webkit-animation-delay: 4s;
animation-delay: 4s;
-webkit-animation: cssAnimation 0s ease-in 4s forwards;
-moz-animation: cssAnimation 0s ease-in 4s forwards;
-o-animation: cssAnimation 0s ease-in 4s forwards;
animation: cssAnimation 0s ease-in 4s forwards;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
我确定我已经接近正确了,那么我应该如何修改它以便动画和过渡在执行前等待 4 秒?
【问题讨论】:
标签: css animation transition