我尝试在纯CSS中实现"淡出"效果。这是fiddle。我确实在网上研究了几个解决方案,但是,在阅读了documentation online之后,我试图找出幻灯片动画无法工作的原因。有什么建议吗?
.dummy-wrap {
animation: slideup 2s;
-moz-animation: slideup 2s;
-webkit-animation: slideup 2s;
-o-animation: slideup 2s;
}
.success-wrap {
width: 75px;
min-height: 20px;
clear: both;
margin-top: 10px;
}
.successfully-saved {
color: #FFFFFF;
font-size: 20px;
padding: 15px 40px;
margin-bottom: 20px;
text-align: center;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background-color: #00b953;
}
@keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
@-moz-keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
@-webkit-keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
@-o-keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
<div class="dummy-wrap">
<div class="success-wrap successfully-saved">Saved</div>
</div>
8条答案
按热度按时间ippsafx71#
下面是另一种方法来做同样的事情。
淡入效果
淡出效果
UPDATE 1:
我在这里找到了更多最新的教程CSS3 Transition: fadeIn and fadeOut like effects to hide show elements和Tooltip Example: Show Hide Hint or Help Text using CSS3 Transition以及示例代码。UPDATE 2:
(添加了@big-money要求的详细信息)显示元素时(通过切换到visible类),我们希望
visibility:visible
立即生效,所以只转换opacity属性是可以的。(通过切换到hidden类),我们希望延迟visibility:hidden
声明,以便能够首先看到淡出过渡。我们通过在visibility属性上声明过渡来实现此目的。持续时间为0 s,有延迟。您可以查看详细文章here。我知道我太晚了回答,但张贴这个答案,以保存别人的时间。
knsnq2tg2#
您可以改用过渡:
sauutmhj3#
因为
display
不是一个可动画化的CSS属性。一个display:none
淡出动画替换为纯CSS3动画,只需在最后一帧设置width:0
和height:0
,并使用animation-fill-mode: forwards
来保留width:0
和height:0
属性。3hvapo4f4#
这是您的问题的工作代码。
享受编码....
b91juud35#
您忘记向
.dummy-wrap
类添加一个position属性,top/left/bottom/right值不适用于静态定位的元素(默认值)http://jsfiddle.net/dYBD2/2/
but5z9lq6#
demo here.
pkmbmrz77#
这可能有助于:
fhg3lkii8#
在CSS中使用
forwards
填充模式,使其保留在动画的最后部分。我建议使用
transform: tranlsateY(-20px);
而不是css位置,但是如果您坚持使用它,那么将.dummy-wrap
位置设置为absolute