Can't move carousel caption and navigation at the bottom using Bootstrap

Viewed 68

I am trying to create this design in Bootstrap carousel:

enter image description here

But I can't push down the caption, the titles as well as put the navigation at the very bottom with proper spacing. So far I got this:

  <div id="testimonialCarousel" class="carousel slide" data-bs-ride="carousel">

                <div class="carousel-inner">
                  <div class="carousel-item active">
                    <img src="https://i.imgur.com/GrYVaUF.png" class="d-block mx-auto" alt="...">
                    <div class="carousel-caption d-none d-md-block">
                      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                      <h5>CEO | James Bulok</h5>
                    </div>
                  </div>
                  <div class="carousel-item">
                    <img src="https://i.imgur.com/GrYVaUF.png" class="d-block mx-auto" alt="...">
                    <div class="carousel-caption d-none d-md-block">
                      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                      <h5>CEO | James Bulok</h5>
                    </div>
                  </div>
                  <div class="carousel-item">
                    <img src="https://i.imgur.com/GrYVaUF.png" class="d-block mx-auto" alt="...">
                    <div class="carousel-caption d-none d-md-block">
                      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                      <h5>CEO | James Bulok</h5>
                    </div>
                  </div>
                </div>


                
                <ol class="carousel-indicators">
                    <li data-bs-target="#testimonialCarousel" data-bs-slide-to="0" class="active"></li>
                    <li data-bs-target="#testimonialCarousel" data-bs-slide-to="1"></li>
                    <li data-bs-target="#testimonialCarousel" data-bs-slide-to="2"></li>
                  </ol>
              </div>

You can see the complete code here: https://jsfiddle.net/sj0uct4v/

Anyone that can help me achieve and also push the navigation below with proper margin at the top of the caption?

1 Answers

By default, .carousel-caption and .carousel-indicators are positioned absolute. But as you need to disable it, then use the parameter unset for the position. Also, I set a random color for the navigation buttons to visually determine their location.

And to resize (make square) the selectable indicators, you need to add and change the width and height rules in the .carousel-indicators li selector.

Just use this css:

body{
    color: #000;
}

.carousel-caption{
    color: #000;
}

.carousel-caption,
.carousel-indicators {
  position: unset!important;
}

.carousel-indicators li {
  background-color: blue!important;
}

.carousel-indicators li {
  width: 30px!important;
  height: 30px!important;
}
Related