简体   繁体   中英

Bootstrap 4 Carousel Indicators are not appearing

I'm trying to create a carousel slider with carousel indicators at the bottom using Bootstrap-4.1.3. The problem is that the carousel indicators are invisible, but they do work when you click them.

I've already tried z-index, and background colors on the indicators, but they don't seem to work.

Here is my code:

 .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>

You should not use the same id multiple times on your page. Try using this solution instead:

 .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>

There is a typepo error in your code css id. 'slide s -buttons' and '#slide-buttons

Based on Cristiano Soares solution, I have also added some further suggestions.

To ensure that the main carousel component wrapper has indicators set to active;

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

I also added further styling, as I still couldn't see the indicators once they where enabled;

.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;
}

指标示例

I had the same problem with bootstrap 4. Then i figured display of indicators is none. so this fixed my problem:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM