Un carrousel permet de faire défiler automatiquement ou manuellement des éléments (images, texte, etc) à la manière d’un diaporama.
Avec bootstrap 4 ceci est rendu possible sans devoir utiliser javascipt !
Ces attributs ont pour but de remplacer le code JavaScript que vous auriez dû taper sans eux.
Ne vous inquiétez pas si pour l’instant cela vous semble confus, nous allons tout détailler dans l’exemple qui va suivre.
Mise en pratique :
Nous allons créer un carrousel composé d’un diaporama (slideshow) de 3 images qui vont défiler les unes après les autres, automatiquement mais aussi manuellement grâce aux flèches « previous » (précédent) et « next » (suivant) ou grâce à des indicateurs situés en bas du carrousel.
Cet exemple se compose en 3 parties :
Le code.
Le résultat.
Les explications détaillées du code.
1 : Le code
2 : Le résultat
Et voilà notre carrousel terminé sans avoir tapé une seule ligne en javascript !
3 : Explications
Avant de commencer, on assigne un style css à notre carrousel .
On prédéfinit les dimensions du carrousel (mettre width : 100% si vous voulez qu’il prenne toute la largeur de la page).
.carousel { max-width:750px; height: auto; }
On définit ensuite la dimension des images à l’intérieur du carrousel.
.carousel-inner img { width:100%; height:auto; }
Première étape, on crée le div qui va contenir notre carrousel.
Nous indiquons à bootstrap que nous voulons créer un carrousel avec la classe .caroussel. Nous lui donnons un identifiant id=« option » nous rajoutons l’attribut data-ride=« carousel » pour dire à bootstrap de faire défiler les images (éléments) automatiquement. *.slide sert à ajouter une animation lors du passage d’un élément à un autre.
Deuxième étape, on ajoute les indicateurs de pagination en bas de page.
On crée une liste avec la classe .carousel-indicators On identifie chaque élément du carrousel avec l’attribut data-target=« #option » On précise l’ordre des éléments avec l’attribut data-slide-to=« 0/1/2/… », le premier élément aura la classe .active
Troisième étape, on place le contenu principal du carrousel (dans notre exemple des images).
La classe .carousel-inner va contenir tout le contenu principal. Chacune des images est enveloppée dans la classe .carousel-item et on rajoute la classe .active à la première d’entre elles. On place notre image. On rajoute une légende (c’est optionnel bien sûr) avec la classe .carousel-caption.
Quatrième et dernière étape, on crée des indicateurs qui se placeront des deux côtés de l’image (ici des flèches) pour revenir manuellement à l’image précédente ou pour avancer vers l’image suivante.
On crée des balises de lien <a> dans lesquelles on place notre identifiant href= »#option« On rajoute la classe . carousel-control-prev ou carousel-control-next avec l’attribut data-slide= »prev« ou data-slide= »next« pour spécifier vers quelle image la flèche doit nous envoyer. Et enfin on place dans une balise <span> les icônes des indicateurs .carousel-control-prev-icon ou .carousel-control-next-icon
Options :
Voyons quelques options intéressantes.
Plein ecran :
Pour avoir son carrousel en plein écran, rajouter la classe .carousel-fullscreen.
Par défaut les éléments défilent automatiquement toutes les 5 secondes (5000 millisecondes). Pour changer ce paramètre on va rajouter à notre classe .carrousel l’attribut data-interval.
Exemple : nous voulons que nos images défilent toute les secondes.
Faisons-en sorte que le défilement des images se mettent en pause au passage de la souris et reprennent lorsque la souris sort du carrousel. Pour ce faire nous allons encore utiliser un attribut data avec notre classe.carousel.
Pour illustrer la grande utilité de bootstrap nous allons refaire l’exercice en utilisant javaScript (jQuery plus exactement). Puisque les attributs data avaient pour fonction ici de remplacer le javaScript nous allons tous les enlever. Nous allons aussi enlever quelques classes. Regardez bien et essayez de voir les différences.
Bien et maintenant voici le code en jquery qui remplace les attributs data.
Vous voyez que même s’il faut un peu de temps pour maitriser son système de classe, bootstrap 4 peut grandement vous faciliter la vie par la suite.
désolée pour les erreurs!! Votre commentaire est en attente de modération.
Merci pour ce tutoriel très intéressant. J’ai une question, exemple j’ai 4 images dans mon carrousel, je veux que toutes les photos soient affichées sur mon écran en même temps que la photo active, comment faire? Merci d’avance.
désolée pour les erreurs!! Votre commentaire est en attente de modération.
Merci pour ce tutoriel très intéressant. J’ai une question, exemple j’ai 4 images dans mon carrousel, je veux que toutes les photos soient affichées sur mon écran en même temps que la photo active, comment faire? Merci d’avance.
Vraiment magnifique et très simple ton tuto, mais j’aimerais savoir comment ajouter des vignettes. Merci.