幻灯片动画错误
Slideshow animation bug
我的页面上有幻灯片,但我的动画有一个小错误,我找不到它。
我根据本教程使用幻灯片: https://www.youtube.com/watch?v=TzAshjkhFQw 。
但我只想拥有 3 张幻灯片,而不是 4 张。
前 3 张幻灯片没问题,但第四张幻灯片没有背景。我只想要 3 张幻灯片,然后重复放映幻灯片。
/* 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>
提前感谢您的建议!
您需要更改动画中的百分比以及各个幻灯片的时间
@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 秒将其更改为一张幻灯片,则需要 space 将动画分开得更远(更改动画延迟),并更改动画以使幻灯片显示更长的时间(将每个百分比 4/3
).
然而,这种动画幻灯片的方式似乎非常不灵活,所以您可能想看看其他一些方法,它可以让您更轻松地添加或删除幻灯片。
我的页面上有幻灯片,但我的动画有一个小错误,我找不到它。 我根据本教程使用幻灯片: https://www.youtube.com/watch?v=TzAshjkhFQw 。 但我只想拥有 3 张幻灯片,而不是 4 张。 前 3 张幻灯片没问题,但第四张幻灯片没有背景。我只想要 3 张幻灯片,然后重复放映幻灯片。
/* 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>
提前感谢您的建议!
您需要更改动画中的百分比以及各个幻灯片的时间
@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 秒将其更改为一张幻灯片,则需要 space 将动画分开得更远(更改动画延迟),并更改动画以使幻灯片显示更长的时间(将每个百分比 4/3
).
然而,这种动画幻灯片的方式似乎非常不灵活,所以您可能想看看其他一些方法,它可以让您更轻松地添加或删除幻灯片。