【问题标题】:Change Bootstrap Carousel fade transition更改 Bootstrap Carousel 淡入淡出过渡
【发布时间】:2018-07-17 20:05:07
【问题描述】:

在 Stackoverflow 上有几个关于 Carousel 淡入淡出过渡的问题,但它们似乎都不适用于默认的 4.0.0 实现:

<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
  <ol class="carousel-indicators">
    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
  </ol>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src="..." alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="..." alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="..." alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

自 Alpha.6 版本以来,bootstrap 是否改变了转换 carousel-item -s 的方式?在 4.0.0 中如何实现淡入淡出而不是幻灯片?

【问题讨论】:

  • 您为什么使用测试版? v4 不久前发布。
  • 我已经在 Alpha.6、Beta 和官方 4.0.0 版本上试用过。我在 Stackoverflow 上看到的实现不适用于 beta 版和官方 4.0.0 版本。
  • 我的意思是,当最终版本发布时,您不会获得对 beta 版本的太多支持。
  • 同意。我会换个问题
  • Beta 版不再是问题。我已经看到了该实现,但它不适用于 4.0.0

标签: css twitter-bootstrap bootstrap-4


【解决方案1】:

Bootstrap 5 Carousel Fade(2021 年更新)

Bootstrap 5 includes a "fade" effect 只需将 carousel-fade 类添加到 Carousel 即可使用。默认情况下,过渡持续时间为 0.6 秒。要增加持续时间,并使幻灯片之间的淡入淡出变慢,请覆盖 CSS 上的过渡时间...

/* change transition duration to control the speed of fade effect */
.carousel-item {
  transition: transform 2.6s ease-in-out;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  transition: opacity 0s 2.6s;
}

Bootstrap 5 Carousel Fade Slower


Bootstrap 4.0 Carousel Fade(原始答案)

.carousel-fade .carousel-item {
 opacity: 0;
 transition-duration: .6s;
 transition-property: opacity;
}

.carousel-fade  .carousel-item.active,
.carousel-fade  .carousel-item-next.carousel-item-left,
.carousel-fade  .carousel-item-prev.carousel-item-right {
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade  .active.carousel-item-right {
 opacity: 0;
}

.carousel-fade  .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade  .active.carousel-item-prev {
 transform: translateX(0);
 transform: translate3d(0, 0, 0);
}

淡入淡出效果在 4.0 Beta 期间已从轮播中移除,并且在 4.0.0 中也不可用。这个pull request 表示淡入淡出效果将在 4.1 或 4.2 中返回。同时,上述 CSS 将适用于 4.0.0

https://codeply.com/go/LhLJlldsLN

【讨论】:

  • 如何在 Bootstrap 4 轮播中获得 WOW Slider GLASS PARALAX 效果,就像您的示例中的那样?
【解决方案2】:

应该在 Bootstrap 4.1 中修复。

https://blog.getbootstrap.com/2018/04/09/bootstrap-4-1/

【讨论】:

    【解决方案3】:

    要获得淡入效果,您可以在轮播的主 div 中添加 "carousel-fade" 类,如下所示。


    更新:引导 5

    Bootstrap 5 与 Bootstrap 4 几乎相同,但 data-ride 属性现在是 data-bs-ride

    引导 5 示例

    <div id="carouselExampleIndicators" class="carousel slide carousel-fade" data-bs-ride="carousel">
    ...
    </div>
    

    引导 4 示例

    <div id="carouselExampleIndicators" class="carousel slide carousel-fade" data-ride="carousel"> 
    ....
    </div>
    

    【讨论】:

      【解决方案4】:

      在 bootstrap 4 中,您可以像这样添加“slide-fade”类:

      <div id="carouselExampleIndicators" class="carousel slide-fade" data-ride="carousel">....</div>
      

      【讨论】:

      • 将该评论添加到正确的答案中。你可以编辑它:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2012-05-07
      • 2012-02-04
      • 2012-03-20
      • 2017-01-29
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多