【问题标题】:Bootstrap 4 Carousel Indicators are not appearingBootstrap 4轮播指示器未出现
【发布时间】:2019-06-21 14:33:33
【问题描述】:

我正在尝试使用 Bootstrap-4.1.3 创建一个底部带有轮播指示器的轮播滑块。问题是轮播指示器是不可见的,但是当您单击它们时它们确实起作用。

我已经尝试过 z-index 和指标的背景颜色,但它们似乎不起作用。

这是我的代码:

.carousel-indicators {
  z-index: 3;
  #slide-buttons {
    background-color: #999 !important;
    background-color: rgba(70, 70, 70, .25) !important;
  }
  .active {
    background-color: #444 !important;
  }
}
<div class="carousel slide col-9 mx-auto pt-5 position-relative" data-ride="carousel" id="slides">

  <!--Carousel Content-->
  <div class="carousel-content carousel-inner" role="listbox">
    <div class="slide-1 col-12 carousel-item active" id="slide1">
      <h5>Example</h5>
    </div>

    <div class="slide-2 col-12 carousel-item" id="slide2">
      <h5>Example</h5>
    </div>

    <div class="slide-3 col-12 carousel-item" id="slide3">
      <h5>Example</h5>
    </div>
  </div>

  <!-- Carousel Indicators -->
  <ul class="carousel-indicators mt-5 pt-5 ">
    <li data-target="#slides" id="slides-buttons" data-slide-to="0" class="active"></li>
    <li data-target="#slides" id="slides-buttons" data-slide-to="1" class=" "></li>
    <li data-target="#slides" id="slides-buttons" data-slide-to="2" class=" "></li>
  </ul>
</div>

【问题讨论】:

  • 尝试this 示例,其中也包含您的代码。
  • 基于 Cristiano Soares 解决方案,我还添加了一些进一步的建议,以确保主轮播组件包装器的指示器设置为活动; &lt;Carousel indicators={true} ..... &gt;
    进一步造型,还是看不到指标; CSS .carousel-indicators li { background-color: red; height: 3px; width: 20px; z-index: 5 !important; margin: 0 5px; cursor: pointer; } .carousel-indicators li.active { background-color: blue; height: 5px; width: 20px; z-index: 5 !important; padding: 0 5px; cursor: pointer; }

标签: html css sass bootstrap-4.1.x


【解决方案1】:

您不应在页面上多次使用同一个 ID。尝试改用此解决方案:

.carousel .carousel-indicators li {
  background-color: red;
}

.carousel .carousel-indicators li.active {
  background-color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>

<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="https://cdn.pixabay.com/photo/2016/06/18/17/42/image-1465348_1280.jpg" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="https://cdn.pixabay.com/photo/2016/06/18/17/42/image-1465348_1280.jpg" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="https://cdn.pixabay.com/photo/2016/06/18/17/42/image-1465348_1280.jpg" 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>

【讨论】:

  • 感谢关于多个id的好建议,但问题仍然存在
  • 对不起,我不明白你的意思。通过在我的帖子上运行代码 sn-p 可以看到幻灯片指示器正在显示。在使旋转木马工作方面您还有其他具体问题吗?
  • 由于某种原因我的不可见,即使它对你有用,我在我的编辑器上运行你的代码并且指标不可见
  • 我建议您检查 ul 所在的容器。该元素的显示样式可能隐藏了轮播。另一种可能性是 Bootstrap 和 jQuery 文件。您检查它们是否正确加载了吗?
  • 我不认为导入错误,我已经检查过它们,它们似乎加载正确。我还尝试了一些包含 ul 的容器的属性,但它似乎并没有改变 ul 的外观
【解决方案2】:

您的代码 css id 中有一个 typepo 错误。 'slides-buttons' 和 '#slide-buttons

【讨论】:

  • 感谢您显示错字,但轮播指示器仍未出现
【解决方案3】:

基于 Cristiano Soares 解决方案,我还添加了一些进一步的建议。

确保主轮播组件包装器的指示器设置为活动;

<Carousel indicators={true} .... <Item><ProjectImg><Caption> ... >

我还添加了更多样式,因为一旦启用,我仍然看不到指示器;

.carousel-indicators li {
  background-color: red;
  height: 5px;
  width: 20px;
  z-index: 5 !important;
  margin: 0 5px;
  cursor: pointer;
}
.carousel-indicators li.active {
  background-color: blue;
  height: 5px;
  width: 20px;
  z-index: 5 !important;
  padding: 0 5px;
  cursor: pointer;
}

【讨论】:

    【解决方案4】:

    我在使用 bootstrap 4 时遇到了同样的问题。然后我发现没有显示指标。 所以这解决了我的问题:

    .carousel-indicators{
    display: block !important;}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多