提问者:小点点

幻灯片动画错误


我有幻灯片在我的页面,但我有一个小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

提前感谢您的建议!


共1个答案

匿名用户

您需要更改动画中的百分比以及各个幻灯片上的计时

@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)。

但是,这种制作幻灯片动画的方式似乎很不灵活,因此您可能想看看其他方法,这样可以更容易地添加或删除幻灯片。