我想在一个循环中的图像之间渐变(像这里的结果-jsfiddle.net/5M2PD),但纯粹通过CSS
,没有JavaScript
。我尝试使用关键帧,但我不成功。请帮助。
@keyframes cf3FadeInOut {
0% {
opacity:1;
}
45% {
opacity:1;
}
55% {
opacity:0;
}
100% {
opacity:0;
}
}
#cf3 img.top {
animation-name: cf3FadeInOut;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-duration: 10s;
animation-direction: alternate;
}
4条答案
按热度按时间pwuypxnk1#
我以你的小提琴为基础,使它不用剧本就能演奏。
∮ ∮ ∮ ∮
我需要为HTML设置一个ID
我设置了关键帧,使大约1/3的时间可见,并带有适当的过渡。然后我为每张图片设置了不同的延迟,以便它们交替出现。如果你想要完全的浏览器支持,你将需要更多的供应商前缀。我使用了-webkit-和bare property,这样你就明白了这个想法。
a64a0gku2#
我用SASS做了一个动态的解决方案,可以配置:
它会自动计算关键帧百分比和项目之间的延迟。
lymgl2op3#
根据您需要的图像数量、每个图像显示的时间以及淡入淡出过渡持续的时间,您每次都需要不同的关键帧值。有关如何每次都正确执行此操作的有用帖子可以在此处找到:https://www.devtwins.com/blog/css-cross-fading-images
vm0i2vca4#
这里是另一个网站教交叉褪色图像,基于时间和事件,相对较小的CSS:
http://css3.bradshawenterprises.com/cfimg/