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.