【问题标题】:Boostrap carousel left aligned引导轮播左对齐
【发布时间】:2018-02-12 04:55:11
【问题描述】:

我一直在编辑this code,所以它是 Bootstrap 4,它是左对齐的。而且我不知道如何解决两件事:

  1. 右侧总是被切掉,即使我希望它显示 100%
  2. 当您点击箭头 (carousel-control-prev) 时,会在其他轮播项目滑动之前显示一个空白区域

有人可以告诉我我做错了什么吗?这是我的代码:

$(document).ready(function() {
  $('#carouselExampleControls').carousel({
    interval: 0
  })
  $('.carousel .carousel-item').each(function() {
    var next = $(this).next();
    if (!next.length) {
      next = $(this).siblings(':first');
    }
    next.children(':first-child').clone().appendTo($(this));
    if (next.next().length > 0) {
      next.next().children(':first-child').clone().appendTo($(this));
    } else {
      $(this).siblings(':first').children(':first-child').clone().appendTo($(this));
    }
  });
});
.carousel,
.carousel-inner,
.carousel-inner>.carousel-item {
  overflow: hidden;
}

.carousel-inner>.carousel-item.active,
.carousel-inner>.carousel-item-next {
  display: flex;
  flex-wrap: nowrap;
  width: auto;
}

.carousel-inner:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 94%;
  left: 0;
  content: "";
  display: block;
  background-color: #fff;
  z-index: 2;
}

.carousel-inner:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 100%;
  content: "";
  display: block;
  background-color: #fff;
  z-index: 2;
}

.carousel-control-prev {
  opacity: 1;
  background: black;
  height: 70px;
  width: 70px;
  top: 50%;
  left: 100px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta.2/css/bootstrap.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>

<div class="coontainer-fluid">
  <div class="col-md-7 text-center">
    <div id="carouselExampleControls" class="carousel slide" data-ride="carousel" data-interval="false">
      <div class="carousel-inner">
        <div class="row carousel-item active">
          <div class="col-5">
            <div class="card">
              <div class="card-body text-left d-flex flex-column justify-content-end px-4 py-5">
                <div class="d-inline">
                  <a href="#" class="card-link">Link</a>
                </div>
                <h5 class="card-title">Title</h5>
                <p class="card-text">Text goes here</p>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
              </div>
            </div>
          </div>
        </div>
        <div class="row carousel-item">
          <div class="col-5">
            <div class="card">
              <div class="card-body text-left d-flex flex-column justify-content-end px-4 py-5">
                <div class="d-inline">
                  <a href="#" class="card-link">Link</a>
                </div>
                <h5 class="card-title">Title</h5>
                <p class="card-text">Text goes here</p>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
              </div>
            </div>
          </div>
        </div>
        <div class="row carousel-item">
          <div class="col-5">
            <div class="card">
              <div class="card-body text-left d-flex flex-column justify-content-end px-4 py-5">
                <div class="d-inline">
                  <a href="#" class="card-link">Link</a>
                </div>
                <h5 class="card-title">Title</h5>
                <p class="card-text">Text goes here</p>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
              </div>
            </div>
          </div>
        </div>
        <div class="row carousel-item">
          <div class="col-5">
            <div class="card">
              <div class="card-body text-left d-flex flex-column justify-content-end px-4 py-5">
                <div class="d-inline">
                  <a href="#" class="card-link">Link</a>
                </div>
                <h5 class="card-title">Title</h5>
                <p class="card-text">Text goes here</p>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
                <a href="#" class="btn btn-block text-left pl-0">Button</a>
              </div>
            </div>
          </div>
        </div>
      </div>
      <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      </a>
    </div>
  </div>
</div>

【问题讨论】:

    标签: css twitter-bootstrap carousel bootstrap-4


    【解决方案1】:

    Bootstrap 基于 12 列网格。因此,如果您将所需的三张幻灯片分组到一行中,每张幻灯片都有一个 col-4 类,它可以解决您的问题。我还在 .carousel-inner &gt; .carousel-item.active, .carousel-inner &gt; .carousel-item-next 类中将 width:auto; 更改为 width: 100%; 。

    <div class="container-fluid">
        <div class="row">
            <div class="col-12 text-center">
                <h3>Bootstap 4 Carousel</h3>
                <h6>Customized to advance a single slide, and reveal part of adjacent slides</h6>
                <div class="carousel slide" id="myCarousel">
                    <div class="carousel-inner">
                        <div class="row no-gutters carousel-item active">
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                        </div>
                        <div class="row no-gutters carousel-item">
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                        </div>
                        <div class="row no-gutters carousel-item">
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                        </div>
                         <div class="row no-gutters carousel-item">
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                            <div class="col-4">
                                <div class="d-inline">
                                  <a href="#" class="card-link">Link</a>
                                </div>
                                <h5 class="card-title">Title</h5>
                                <p class="card-text">Text goes here</p>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                                <a href="#" class="btn btn-block text-center pl-0">Button</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="col-12 text-center py-3">
                <a class="left carousel-control mx-4 text-dark" href="#myCarousel" data-slide="prev"><i class="fa fa-chevron-left"></i></a>
                <a class="right carousel-control mx-4 text-dark" href="#myCarousel" data-slide="next"><i class="fa fa-chevron-right"></i></a>
            </div>
        </div>
    </div>
    

    Here is a demo

    【讨论】:

    • 不知道为什么我的代码只有一部分通过了答案。有人知道怎么修这个东西吗?我使用花括号将其标记为代码,这是我能做的最好的。
    • 另外,不确定左箭头的位置。如果您让我知道,我很乐意修改我的答案。
    • 感谢您的回答。一个问题,不过。在你的小提琴上,当你点击上一个按钮时它仍然显示空白?
    • 我没有看到重叠的空白(就像以前一样)。我在答案中上传了一张图片,向您展示我所看到的。你想改变什么吗?
    • 单击箭头时看不到空白?在下一个轮播项目出现之前。
    猜你喜欢
    • 1970-01-01
    • 2021-12-12
    • 2016-05-15
    • 2023-03-05
    • 2021-01-10
    • 2016-11-10
    • 2016-01-12
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多