【发布时间】:2021-08-23 23:44:05
【问题描述】:
我的主页上有一个渐变的幻灯片,循环播放 4 张图片。在内页上,我只想展示一张图片,但我希望它执行它的初始动画然后停止。我正在使用的特定幻灯片使用 CSS 关键帧,但如果我删除 CSS 关键帧或动画 CSS,那么页面就坐在那里,加载时什么也不做。动画 CSS 设置为无限,我知道这是其中的一部分,因为它无限循环,但我想做的是在内部页面上保持相同的一致性,只有一个图像需要初始动画,但在初始动画和图像加载,幻灯片应该停止。现在,它似乎遍历了所有内容,因此使用 CSS 关键帧加载我的图像,然后它是空白的一段时间,最终会再次显示图像。我知道这就是它的设计方式,我只是不知道如何调整它以仅使用单个图像而不像它那样循环遍历那些 CSS 关键帧。即使 CSS 完全不同,也没关系,因为它会在完全不同的页面上 :-)
HTML:
<div class="slide">
<div style="background-image:url(https://images.unsplash.com/photo-1575932150875-d31ebc835f67?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1650&q=80)"></div>
<div style="background-image:url(https://images.unsplash.com/photo-1608500567505-269fa4192c58?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1704&q=80)"></div>
<div style="background-image:url(https://images.unsplash.com/photo-1477936821694-ec4233a9a1a0?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1620&q=80)"></div>
<div style="background-image:url(https://images.unsplash.com/photo-1485735662814-c4f66e49dbae?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1650&q=80)"></div>
</div>
CSS:
.slide {
background: #fff;
height: 350px;
overflow: hidden;
position: relative;
width: 100%;
}
.slide > div {
animation: slide 16s infinite;
background-position: center center;
background-size: cover;
height: 100%;
opacity: 0;
position: absolute;
width: 100%;
}
.slide > div:nth-child(2) {
animation-delay: 4s;
}
.slide > div:nth-child(3) {
animation-delay: 8s;
}
.slide > div:nth-child(4) {
animation-delay: 12s;
}
@keyframes slide {
10% {
opacity: 1;
}
20% {
opacity: 1;
}
30% {
opacity: 0;
}
40% {
transform: scale(1.2);
}
}
这是小提琴:https://jsfiddle.net/nd81hzuc/,它有四个图像:-)
感谢任何帮助!
谢谢,
乔什
【问题讨论】:
标签: html css css-animations slideshow keyframe