我一直在为朋友和家人制作圣诞电子贺卡,其中一部分包括渐变/动画。我已经找到了替代的解决方案(如这个:http://fvsch.com/code/transition-fade/test5.html),但我不知道为什么我现在的代码不工作-做动画只是不喜欢不透明度?
代码:#ChristmasTree{
position:absolute;
left:750px;
top:20px;
background-image:url(http://i.imgur.com/uk7Z3.png);
opacity:0.0;
animation-play-state:running;
-moz-play-state:running;
-ms-play-state:running;
-o-play-state:running;
-webkit-animation-play-state:running;
animation:treeFadeIn 3s;
-moz-animation:treeFadeIn 3s;
-ms-animation:treeFadeIn 3s;
-o-animation:treeFadeIn 3s;
-webkit-animation:treeFadeIn 3s;
}
@-moz-keyframes treeFadeIn{
from{opacity:0.0}
to{opacity:1}
}
@-webkit-keyframes treeFadeIn{
from{opacity:0.0}
to{opacity:1}
}
@-o-keyframes treeFadeIn{
from{opacity:0.0}
to{opacity:1}
}
@-ms-keyframes treeFadeIn{
from{opacity:0.0;}
to{opacity:1;}
}
首先你需要给height
和width
你的div
,因为你使用图像作为背景。此外,你真的需要绝对位置吗?如果是,请确保你使用的是position: relative;
容器,这里我也设置了高度和宽度,你可以根据你正在使用的图像替换它们,也不需要opacity: 0.0;
, opacity: 0;
就足够了,我还添加了animation-iteration-count:infinite;
用于无限动画迭代
#ChristmasTree {
position:relative;
left:250px;
top:20px;
height: 200px;
width: 300px;
background-image:url(http://images.google.co.in/intl/en_ALL/images/logos/images_logo_lg.gif);
opacity:0.0;
animation-play-state:running;
-moz-play-state:running;
-ms-play-state:running;
-o-play-state:running;
-webkit-animation-play-state:running;
animation:treeFadeIn 3s;
-moz-animation:treeFadeIn 3s;
-ms-animation:treeFadeIn 3s;
-o-animation:treeFadeIn 3s;
-webkit-animation:treeFadeIn 3s;
animation-iteration-count:infinite;
}
如果你想要渐入渐出的效果,你可以看看我的另一个答案