【发布时间】:2018-04-20 15:03:20
【问题描述】:
我的 CSS 中的动画过渡时间逻辑存在一些问题。我有 3 张必须幻灯片放映的图像。我想在 15 秒内将图像从 image1 更改为 image2,并在 15 秒内将 image2 更改为 image3,并在 30 秒内从图像 3 返回到图像 1。我不知道如何使用我的 css 动画计时逻辑来做到这一点。
这是我的 html 代码:
<ul>
<li><img width="500" height="500" src="http://img2.netcarshow.com/Ford-GT90_Concept_1995_800x600_wallpaper_01.jpg"></li>
<li><img width="500" height="500" src="http://img2.netcarshow.com/Mercedes-Benz-SLR_McLaren_2004_800x600_wallpaper_02.jpg"></li>
<li><img width="500" height="500" src="http://img2.netcarshow.com/Porsche-911_Carrera_4S_2002_800x600_wallpaper_0d.jpg"></li>
</ul>
这是我的 CSS:
ul {
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
li {
position: absolute;
}
li:nth-child(3) {
animation: xfade 15s 4s infinite;
}
li:nth-child(2) {
animation: xfade 15s 8s infinite;
}
li:nth-child(1) {
animation: xfade 15s 12s infinite;
}
@keyframes xfade{
17% {
opacity:1;
}
25% {
opacity:0;
}
92% {
opacity:0;
}
}
我创建了 jsfidle,这样每个人都可以在这种情况下进行一些测试。 https://jsfiddle.net/ag0hLhnj/1/
【问题讨论】:
-
您已经放弃了这个以及您在 SO 上发布的其他相同问题。请查看两个答案。
-
为什么不赞成@Niloct?我很高兴删除答案,但经过大量思考和研究后,我想知道您反对的原因。
-
因为只用 css 就可以解决这个问题!检查我在另一个问题中的答案。
-
@Niloct 太好了,谢谢。我已经运行了你的 sn-p 一段时间了,它似乎挂在最后一张幻灯片上。它真的会无限期地持续下去吗?我不知道如何让它无限循环并保持时间,这就是我求助于 js 的原因。
-
好的! OP 希望它在 2 个循环后保持在第 3 个图像中。您可以将
animation-iteration-count所在的2(以及其他规则的内联形式)更改为infinite。