【问题标题】:Slideshow animation bug幻灯片动画错误
【发布时间】:2020-07-19 21:43:46
【问题描述】:

我的页面上有幻灯片,但动画中有小错误,我找不到。 我根据本教程使用幻灯片: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>

提前感谢您的建议!

【问题讨论】:

    标签: html css css-animations slideshow


    【解决方案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 秒一张幻灯片,则需要将动画间隔更远(更改动画延迟),并更改动画以使幻灯片可见更长时间(将每个百分比乘以 @987654322 @)。

    但是,这种为幻灯片制作动画的方式似乎非常不灵活,因此您可能想看看其他方法,它可以让您更轻松地添加或删除幻灯片。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-12
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多