La composante Modal de Bootstrap permet de créer facilement des fenêtres contextuelles, plus communément connues sous leur nom anglophone "popup".
Lorsqu'une de ces fenêtres est ouverte, elle s'affiche par-dessus le site, masquant partiellement le reste du contenu à l'aide d'un fond grisé semi-transparent, permettant de mettre l'emphase sur la fenêtre en question. Ces fenêtres ne réagissent pas au défilement de la page, elles restent donc prédominantes jusqu'à leur fermeture, ce qui les rend tout indiquées pour afficher certains éléments tels que:
- Un formulaire (connexion, quiz, abonnement à une infolettre, etc.)
- Une image en meilleure résolution.
- Un avertissement. Par exemple, "Votre session a expiré", etc.
Pour définir une fenêtre contextuelle de type modal, il faut insérer sa structure de base dans un fichier HTML.
Par exemple:
Dans cet exemple, la classe .modal permet de créer le fond semi-transparent masquant partiellement le reste du site. La classe .modal-dialog se charge de créer la fenêtre de base et .modal-content s'occupe de gérer le positionnement des différents éléments de contenu dans la fenêtre modal.
L'élément .modal-content peut contenir trois types de contenu, soit:
modal-header
Contiens des informations telles que:
- Le titre de la fenêtre.
- Une croix permettant de fermer la fenêtre.
- Etc.
L'attribut data-bs-dismiss="modal" permet de spécifier à n'importe quel élément dans une fenêtre modal de fermer la fenêtre en question.
modal-body
Permets de contenir le contenu principal de la fenêtre: son texte, son image, son formulaire, etc.
Par exemple:
modal-footer
Contiens généralement des boutons en lien avec la fenêtre.
- Bouton confirmant un changement.
- Bouton de soumission de formulaire.
- Bouton d'annulation permettant de fermer la fenêtre.
- Etc.
Par défaut, les fenêtres modal sont masquées. Pour les afficher, il est nécessaire d'ajouter un élément permettant de déclencher leur apparition. Ce bouton doit contenir deux attributs clés:
- data-bs-toggle="modal" indiquant qu'il contrôle une fenêtre "modal".
- data-bs-target="#example" spécifiant la fenêtre "modal" contrôlée.
Par défaut, la fenêtre modal de Bootstrap à une largeur de 500px. Cependant, il est possible de modifier cette taille en ajoutant une classe supplémentaire à l'élément .modal-dialog.
CLASSES | TAILLE |
---|---|
.modal-sm | 300px |
.modal-lg | 800px |
.modal-xl | 1140px |
Par exemple:
Par défaut, les fenêtres modal Bootstrap sont affichées vers le haut de la page. Cependant, il est possible de centrer ces fenêtres verticalement en ajoutant la classe .modal-dialog-centered à l'élément modal-dialog.
Par exemple:
Par défaut, la fenêtre modal apparait brusquement lorsque déclenchée. Cependant, il est possible d'ajouter une transition afin de rendre son apparition plus élégante grâce à une transition. Pour ce faire, il suffit d'ajouter la classe .fade à l'élément .modal.