Carousel captions help explain what each slide shows. They make the carousel easier to understand.
Carousel captions in Bootsrap
<div class="carousel-caption"> <h5>Slide title</h5> <p>Some description text.</p> </div>
The carousel-caption class places text over the carousel image.
You can use headings and paragraphs inside for titles and descriptions.
<div class="carousel-caption"> <h5>First Slide</h5> <p>This is the first slide caption.</p> </div>
<div class="carousel-caption d-none d-md-block"> <h5>Second Slide</h5> <p>Visible only on medium and larger screens.</p> </div>
<div class="carousel-caption text-start"> <h5>Left Aligned Caption</h5> <p>Text aligned to the left side.</p> </div>
This example shows a Bootstrap carousel with three slides. Each slide has an image and a caption with a title and description. Captions are visible on medium and larger screens. The third slide's caption text is aligned to the left.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Bootstrap Carousel with Captions</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" /> </head> <body> <main> <div id="carouselExampleCaptions" class="carousel slide" data-bs-ride="carousel"> <div class="carousel-indicators"> <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1" aria-label="Slide 2"></button> <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="2" aria-label="Slide 3"></button> </div> <div class="carousel-inner"> <div class="carousel-item active"> <img src="https://via.placeholder.com/800x400.png?text=First+Slide" class="d-block w-100" alt="First slide image" /> <div class="carousel-caption d-none d-md-block"> <h5>First Slide Title</h5> <p>This is the caption for the first slide.</p> </div> </div> <div class="carousel-item"> <img src="https://via.placeholder.com/800x400.png?text=Second+Slide" class="d-block w-100" alt="Second slide image" /> <div class="carousel-caption d-none d-md-block"> <h5>Second Slide Title</h5> <p>This caption appears on medium and larger screens.</p> </div> </div> <div class="carousel-item"> <img src="https://via.placeholder.com/800x400.png?text=Third+Slide" class="d-block w-100" alt="Third slide image" /> <div class="carousel-caption d-none d-md-block text-start"> <h5>Third Slide Left Caption</h5> <p>Left aligned caption text for the third slide.</p> </div> </div> </div> <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="visually-hidden">Previous</span> </button> <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="visually-hidden">Next</span> </button> </div> </main> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html>
Use alt attributes on images for accessibility.
Captions can be hidden on small screens using Bootstrap's display utility classes like d-none d-md-block.
Use aria-label and visually-hidden classes for better screen reader support on controls.
Carousel captions add text overlays to slides to explain content.
Use the carousel-caption class inside each carousel-item.
Control caption visibility and alignment with Bootstrap utility classes.