Carousels

A slideshow component for cycling through elements or slides of text—like a carousel.

Basic Examples

Carousels don’t automatically normalize slide dimensions. You may need to use additional utilities to appropriate function.

Code Example
    <div id="carouselExampleSlidesOnly" class="carousel slide" data-bs-ride="carousel">
      <div class="carousel-inner">
        <div class="carousel-item active">
            <img src="..." class="d-block w-100" alt="...">
        </div>
        <div class="carousel-item">
          <img src="..." class="d-block w-100" alt="...">
        </div>
        <div class="carousel-item">
          <img src="..." class="d-block w-100" alt="...">
        </div>
      </div>
    </div>
    

With Controls & Indicators

You can add the indicators to the carousel, as well as the previous and next controls too.

Code Example
    <div id="carouselExConInd" class="carousel slide" data-bs-ride="carousel">
        <ol class="carousel-indicators">
            <li data-bs-target="#carouselExConInd" data-bs-slide-to="0" class="active"></li>
            <li data-bs-target="#carouselExConInd" data-bs-slide-to="1"></li>
            <li data-bs-target="#carouselExConInd" data-bs-slide-to="2"></li>
        </ol>
        <div class="carousel-inner">
            <div class="carousel-item active">
                <img src="./images/slides/slide-a.jpg" class="d-block w-100" alt="carousel">
            </div>
            <div class="carousel-item">
                <img src="./images/slides/slide-b.jpg" class="d-block w-100" alt="carousel">
            </div>
            <div class="carousel-item">
                <img src="./images/slides/slide-c.jpg" class="d-block w-100" alt="carousel">
            </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExConInd" role="button" data-bs-slide="prev">
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            <span class="visually-hidden">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExConInd" role="button" data-bs-slide="next">
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
            <span class="visually-hidden">Next</span>
        </a>
    </div>
    

With Captions

Add captions to your slides easily with the .carousel-caption element within any .carousel-item. They can be easily hidden on smaller viewports, as shown below, with optional display utilities. We hide them initially with .d-none and bring them back on medium-sized devices with .d-md-block.

Code Example
    <div id="carouselExCap" class="carousel slide" data-bs-ride="carousel">
        <ol class="carousel-indicators">
            <li data-bs-target="#carouselExCap" data-bs-slide-to="0" class="active"></li>
            <li data-bs-target="#carouselExCap" data-bs-slide-to="1"></li>
            <li data-bs-target="#carouselExCap" data-bs-slide-to="2"></li>
        </ol>
        <div class="carousel-inner text-light">
          <div class="carousel-item active">
              <img src="./images/slides/slide-a.jpg" class="d-block w-100" alt="...">
              <div class="carousel-caption d-none d-md-block">
              <h5>First slide label</h5>
              <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
              </div>
          </div>
          <div class="carousel-item">
              <img src="./images/slides/slide-b.jpg" class="d-block w-100" alt="...">
              <div class="carousel-caption d-none d-md-block">
              <h5>Second slide label</h5>
              <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
              </div>
          </div>
          <div class="carousel-item">
              <img src="./images/slides/slide-c.jpg" class="d-block w-100" alt="...">
              <div class="carousel-caption d-none d-md-block">
              <h5>Third slide label</h5>
              <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
              </div>
          </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExCap" role="button" data-bs-slide="prev">
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            <span class="visually-hidden">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExCap" role="button" data-bs-slide="next">
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
            <span class="visually-hidden">Next</span>
        </a>
    </div>
    

Crossfade Effect

Add .carousel-fade to your carousel to animate slides with a fade transition instead of a slide.

Code Example
    <div id="carouselExFade" class="carousel slide carousel-fade" data-bs-ride="carousel">
        <div class="carousel-inner">
            <div class="carousel-item active">
                <img src="./images/slides/slide-a.jpg" class="d-block w-100" alt="carousel">
            </div>
            <div class="carousel-item">
                <img src="./images/slides/slide-b.jpg" class="d-block w-100" alt="carousel">
            </div>
            <div class="carousel-item">
                <img src="./images/slides/slide-c.jpg" class="d-block w-100" alt="carousel">
            </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExFade" role="button" data-bs-slide="prev">
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            <span class="visually-hidden">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExFade" role="button" data-bs-slide="next">
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
            <span class="visually-hidden">Next</span>
        </a>
    </div>