【问题标题】:Bootstrap carousel reveal part of next slideBootstrap 轮播显示下一张幻灯片的一部分
【发布时间】:2017-02-08 20:40:54
【问题描述】:

我有一个引导轮播,目前正在垂直滚动。有没有办法显示下一张幻灯片的一部分(比如 33%),它将位于底部并位于当前幻灯片的上方,理想情况下在滑动时向上滑动。我已经用我目前拥有的东西设置了fiddle

HTML:

<div class="container">
  <div class="page-header">
    <h1>Bootstrap Vertical Carousel</h1>
    <p class="lead">Out of the box, Bootstrap only comes with a traditional horizontal  carousel. This Pen has the HTML and CSS to get it to animate vertically with up/down carousel controls.</p>
  </div>
</div>

<div class="bg-info">
  <div class="container">
    <div id="carousel-example-vertical" class="carousel vertical slide">
      <div class="carousel-inner" role="listbox">
        <div class="item active">
          <img src="http://placehold.it/350x150/123456">
        </div>
        <div class="item">
          <p class="ticker-headline">
            <img src="http://placehold.it/350x150/236152">
          </p>
        </div>
        <div class="item">
          <img src="http://placehold.it/350x150/096437">
        </div>
        <div class="item">
          <img src="http://placehold.it/350x150/000000">
        </div>
      </div>

      <!-- Controls -->
      <a class="up carousel-control" href="#carousel-example-vertical" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
      </a>
      <a class="down carousel-control" href="#carousel-example-vertical" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </a>
    </div>
  </div>
</div>

CSS:

body {
  margin: 50px 0;
}

.ticker-headline {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 15px 0;
  margin: 0;
  font-size: 18px;
}

.carousel.vertical .carousel-inner {
  height: 100%;
  width: auto;
}
.carousel.vertical .carousel-inner > .item {
  width: auto;
  padding-right: 50px;
  -webkit-transition: 0.6s ease-in-out top;
  transition: 0.6s ease-in-out top;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel.vertical .carousel-inner > .item {
    -webkit-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
  }
  .carousel.vertical .carousel-inner > .item.next, .carousel.vertical .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    top: 0;
  }
  .carousel.vertical .carousel-inner > .item.prev, .carousel.vertical .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    top: 0;
  }
  .carousel.vertical .carousel-inner > .item.next.left, .carousel.vertical .carousel-inner > .item.prev.right, .carousel.vertical .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    top: 0;
  }
}
.carousel.vertical .carousel-inner > .active,
.carousel.vertical .carousel-inner > .next,
.carousel.vertical .carousel-inner > .prev {
  display: block;
}
.carousel.vertical .carousel-inner > .active {
  top: 0;
}
.carousel.vertical .carousel-inner > .next,
.carousel.vertical .carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel.vertical .carousel-inner > .next {
  top: 100%;
}
.carousel.vertical .carousel-inner > .prev {
  top: -100%;
}
.carousel.vertical .carousel-inner > .next.left,
.carousel.vertical .carousel-inner > .prev.right {
  top: 0;
}
.carousel.vertical .carousel-inner > .active.left {
  top: -100%;
}
.carousel.vertical .carousel-inner > .active.right {
  top: 100%;
}

.carousel.vertical .carousel-control {
  left: auto;
  width: 50px;
}
.carousel.vertical .carousel-control.up {
  top: 0;
  right: 0;
  bottom: 50%;
}
.carousel.vertical .carousel-control.down {
  top: 50%;
  right: 0;
  bottom: 0;
}
.carousel.vertical .carousel-control .icon-prev,
.carousel.vertical .carousel-control .icon-next,
.carousel.vertical .carousel-control .glyphicon-chevron-up,
.carousel.vertical .carousel-control .glyphicon-chevron-down {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
}
.carousel.vertical .carousel-control .icon-prev,
.carousel.vertical .carousel-control .glyphicon-chevron-up {
  left: 50%;
  margin-left: -10px;
  top: 50%;
  margin-top: -10px;
}
.carousel.vertical .carousel-control .icon-next,
.carousel.vertical .carousel-control .glyphicon-chevron-down {
  left: 50%;
  margin-left: -10px;
  top: 50%;
  margin-top: -10px;
}
.carousel.vertical .carousel-control .icon-up,
.carousel.vertical .carousel-control .icon-down {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel.vertical .carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel.vertical .carousel-control .icon-next:before {
  content: '\203a';
}

【问题讨论】:

    标签: html css twitter-bootstrap carousel


    【解决方案1】:

    不认真重写是不可能的。从根本上说,这个插件通过隐藏所有幻灯片来工作:

    .carousel-inner>.item {
        position: relative;
        display: none; <- culprit
        -webkit-transition: .6s ease-in-out left;
        -o-transition: .6s ease-in-out left;
        transition: .6s ease-in-out left;
    }
    

    但是,即使我们禁用该规则,动画仍然会被破坏。代码一次显示并重新定位一张幻灯片。

    我的建议是寻找另一个更符合您需求的插件。

    【讨论】:

    • 好的,谢谢,是的,我确实看到了。以前有没有发现任何与该功能相匹配的东西?
    • 我会说任何不隐藏所有幻灯片的东西都可以调整为您想要的工作。 owlcarousel2.github.io/OwlCarousel2
    猜你喜欢
    • 1970-01-01
    • 2019-07-10
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多