我有幻灯片在我的页面,但我有一个小bug在动画,我找不到它。 我根据本教程使用幻灯片:https://www.youtube.com/watch?v=tzashjkhfqw。 但我只想要3张幻灯片,而不是4张。 前三张幻灯片是可以的,但是第四张幻灯片的背景是空的。 我只想要3张幻灯片,然后重复幻灯片放映。
null
/* Slider */
.slider {
display: block;
height: 100%;
width: 100%;
z-index: -1;
background-color: #1f1f1f;
overflow: hidden;
position: absolute;
top: 0px;
right: 0px;
border-bottom: 10px solid rgb(121, 0, 0);
}
.slider > * {
position: absolute;
display: block;
width: 100%;
height: 100%;
background-color: #1f1f1f;
animation: slide 12s infinite;
overflow: hidden;
}
.slide:nth-child(1) {
left: 0%;
animation-delay: -1s;
background-image: url(img/slide1.jpg);
background-size: cover;
background-position: center;
}
.slide:nth-child(2) {
left: 100%;
animation-delay: 2s;
background-image: url(img/slide2.png);
background-size: cover;
background-position: center;
}
.slide:nth-child(3) {
left: 100%;
animation-delay: 5s;
background-image: url(img/slide3.jpg);
background-size: cover;
background-position: center;
}
.slide p {
font-size: 2rem;
text-align: center;
display: inline-block;
width: 100%;
margin-top: 340px;
color: #fff;
}
@keyframes slide {
0% { left: 100%; width: 100%; opacity: 1;}
5% { left: 0%;}
25% { left: 0%;}
30% { left: -100%; width: 100%; opacity: 1;}
30.0001% { left: -100%; width: 0%; opacity: 0;}
100% { left: 100%; width: 0%; opacity: 0;}
}
<div class="slider">
<div class="slide">
<p>Slide1</p>
</div>
<div class="slide">
<p>Slide2</p>
</div>
<div class="slide">
<p>Slide3</p>
</div>
</div>
null
提前感谢您的建议!
您需要更改动画中的百分比以及各个幻灯片上的计时
@keyframes slide {
0% { left: 100%; width: 100%; opacity: 1;}
6.667% { left: 0%;}
33.334% { left: 0%;}
40% { left: -100%; width: 100%; opacity: 1;}
40.0001% { left: -100%; width: 0%; opacity: 0;}
100% { left: 100%; width: 0%; opacity: 1;}
}
.slide:nth-child(2) {
animation-delay: 3s;
}
.slide:nth-child(3) {
animation-delay: 7s;
}
动画最初设计为12秒4张幻灯片,即每3秒一张幻灯片。 如果要将其改为每4秒一张幻灯片,则需要将动画间隔得更远(更改动画延迟),并且还要更改动画,以便幻灯片在更长的时间内可见(将每个百分比乘以4/3
)。
但是,这种制作幻灯片动画的方式似乎很不灵活,因此您可能想看看其他方法,这样可以更容易地添加或删除幻灯片。