Il s'agit d'un diaporama permettant de faire défiler des éléments (images et textes) comme un carousel.
Sont gérés les boutons "Précédent" et "Suivant", ainsi que les indicateurs (ou pagination).
<div id="carouselExample" class="carousel slide">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExample" 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="#carouselExample" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
A noter la présence de la classe .active sur une diapositive pour rendre le carousel visible.
Vous pouvez ajouter des indicateurs au carrousel, à côté des boutons précédent/suivant. Ces indicateurs permettent aux utilisateurs d'accéder directement à une diapositive précise.
<div id="carouselExampleIndicators" class="carousel slide">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" 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="#carouselExampleIndicators" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Possibilité d'ajouter des légendes aux diapositives via la classe .carousel-caption dans .carousel-item.
<div id="carouselExampleCaptions" class="carousel slide">
<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="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
<div class="carousel-caption d-none d-md-block">
<h5>Second slide label</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class="carousel-item">
<img src="data/common/img/visual.jpg" class="d-block w-100" alt="..." loading="lazy">
<div class="carousel-caption d-none d-md-block">
<h5>Third slide label</h5>
<p>Some representative placeholder content 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>
Ajouter .carousel-fade au carousel pour animer les transitions en fondu.
<div id="carouselExampleFade" class="carousel slide carousel-fade">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="data/common/img/visual-5.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual-4.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual-3.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleFade" 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="#carouselExampleFade" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
Possibilité de paramétrer la mise en pause au survol ainsi que la rotation automatique des items.
A noter que pour répondre aux contraintes d'accessibilité, il est conseillé de mettre un bouton play / pause.
<div id="carouselExampleAutoplaying" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="data/common/img/visual-5.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual-4.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
<div class="carousel-item">
<img src="data/common/img/visual-3.jpg" class="d-block w-100" alt="..." loading="lazy">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleAutoplaying" 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="#carouselExampleAutoplaying" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>