Partie 3 - Maîtriser Bootstrap
Partie 3 - Maîtriser Bootstrap
Partie 3 - Maîtriser Bootstrap
80 heures
PARTIE 4
Maitriser Bootstrap
25 heures
CHAPITRE 1
INTÉGRER BOOTSTRAP
• Découvrir Bootstrap
• Utiliser le système de grille
5 heures
CHAPITRE 1
INTÉGRER BOOTSTRAP
Introduction au Bootstrap
Bootstrap 5 (sortie en 2021) est la dernière version de Bootstrap (première sortie en en 2013)
Bootstrap 5 propose de nouveaux composants, une feuille de style plus rapide et plus de réactivité. Il prend
également en charge les dernières versions stables des principaux navigateurs et plates-formes.
PARTIE 4
5
01- INTÉGRER BOOTSTRAP
Introduction au Bootstrap
Avantages Bootstrap
• Facile à utiliser : par les développeurs ayant des connaissances de base en HTML et CSS.
• Fonctionnalités réactives : le CSS réactif de Bootstrap s'adapte aux différents médias (téléphones, tablettes et
ordinateurs de bureau).
• Approche mobile first : les styles mobile first font partie du framework de base.
• Compatibilité du navigateur : Bootstrap 5 est compatible avec tous les navigateurs modernes (Chrome,
Firefox, Edge, Safari et Opera).
PARTIE 4
6
01- INTÉGRER BOOTSTRAP
Introduction au Bootstrap
Obtenir Bootstrap
Pour utiliser Bootstrap 5 sur le site Web, on peut :
• Inclure Bootstrap 5 à partir d'un CDN (Content Delivery Network).
• Téléchargez Bootstrap 5 sur getbootstrap.com et l’associer aux pages web comme une feuille de style CSS.
7
CHAPITRE 1
INTÉGRER BOOTSTRAP
Système de grille
Les conteneurs
Les conteneurs (containers) sont l'élément de mise en page le plus basique dans Bootstrap. Ils sont utilisés par le système de
grille (grid) par défaut.
Le rôle des conteneurs est de contenir, remplir et (parfois) centrer le contenu trouvé à leur intérieur.
Bien que les conteneurs puissent être imbriqués, la plupart des mises en page ne nécessitent pas de conteneur imbriqué [8]
Il existe deux classes de conteneurs disponibles :
• La classe .container fournit un conteneur de largeur fixe réactif.
• La classe .container-fluid fournit un conteneur pleine largeur, couvrant toute la largeur de la fenêtre.
Exemple :
9
01- INTÉGRER BOOTSTRAP
Système de grille
Le padding du conteneur
Par défaut, les conteneurs ont un remplissage à gauche et à droite, sans remplissage en haut ou en bas. Par conséquent, les
utilitaires d'espacement tels que des marges et des marges supplémentaires sont utilisés pour leur mise en forme.
Par exemple, .pt-5 signifie "ajouter un grand padding supérieur" :
Exemple :
<div class="container pt-5"></div>
Exemple :
<div class="container p-5 my-5 border"></div>
PARTIE 4
10
01- INTÉGRER BOOTSTRAP
Système de grille
11
01- INTÉGRER BOOTSTRAP
Système de grille
span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1 span 1
span 4 span 4 span 4
span 4 span 8
span 6 span 6
span 12
Le système de grille est réactif et les colonnes se réorganiseront automatiquement en fonction de la taille de l'écran.
PARTIE 4
12
01- INTÉGRER BOOTSTRAP
Système de grille
13
01- INTÉGRER BOOTSTRAP
Système de grille
Exemple 1
<!-- Contrôlez la largeur des colonnes et comment elles doivent apparaître sur différents appareils -->
<div class="row">
La première étoile (*) représente la réactivité : sm, md, lg,
<div class="col-*-*"></div>
xl ou xxl,
<div class="col-*-*"></div>
tandis que la deuxième étoile représente un nombre qui
</div>
doit totaliser 12 pour chaque ligne.
<div class="row">
<div class="col-*-*"></div>
<div class="col-*-*"></div>
<div class="col-*-*"></div>
</div>
Au lieu d'ajouter un nombre à chaque col, laissez
<!-- Ou laissez Bootstrap gérer automatiquement la misebootstrap
en page -->
gérer la mise en page pour créer des colonnes
PARTIE 4
14
01- INTÉGRER BOOTSTRAP
Système de grille
<div class="row">
<div class="col-sm-3">.col-sm-3</div>
<div class="col-sm-3">.col-sm-3</div>
<div class="col-sm-3">.col-sm-3</div>
<div class="col-sm-3">.col-sm-3</div>
</div>
L'exemple 3 montre comment obtenir deux colonnes de largeurs différentes en commençant par les tablettes et en évoluant vers les supports plus grands:
PARTIE 4
<div class="row">
<div class="col-sm-4">.col-sm-4</div>
<div class="col-sm-8">.col-sm-8</div>
</div>
15
CHAPITRE 2
MAITRISER LES CLASSES CSS DE BASE
10 heures
CHAPITRE 2
MAITRISER LES CLASSES CSS DE BASE
1. Typographie et liens
2. Tableaux
3. Éléments de formulaires et contrôles supportés
4. Boutons
02- MAITRISER LES CLASSES CSS DE BASE
On peut également utiliser des classes .h1 et .h6 sur d'autres éléments les forcer à se comporter comme des titres:
18
02- MAITRISER LES CLASSES CSS DE BASE
La balise <mark>
L’élément .mark de Bootstrap 5 a pour effet une couleur de fond jaune.
La balise <abbr>
L’élément Bootstrap 5 <abbr> a pour effet une bordure en pointillé en bas et un curseur avec un point d'interrogation au survol :
19
02- MAITRISER LES CLASSES CSS DE BASE
20
02- MAITRISER LES CLASSES CSS DE BASE
21
CHAPITRE 2
MAITRISER LES CLASSES CSS DE BASE
1. Typographie et liens
2. Tableaux
3. Éléments de formulaires et contrôles supportés
4. Boutons
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
Les tableaux
Une table Bootstrap 5 de base a un padding léger et des séparateurs horizontaux. La classe .table ajoute un style
de base à une table : <table class="table">
<thead>
<tr><th>Firstname</th><th>Lastname</th><th>Age</th></tr>
</thead>
<tbody>
<tr><td>Mohamed</td><td>KINANI</td><td>25</td></tr>
<tr><td>Laila</td><td>SAFIR</td><td>23</td></tr>
<tr><td>Sami</td><td>MANSOURI</td><td>24</td></tr>
</tbody>
</table>
PARTIE 4
23
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
24
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
Les bordures
<table class="table table-bordered">
<thead>
<tr><th>Firstname</th><th>Lastname</th><th>Age</th></tr>
</thead>
<tbody>
<tr><td>Mohamed</td><td>KINANI</td><td>25</td></tr>
<tr><td>Laila</td><td>SAFIR</td><td>23</td></tr>
<tr><td>Sami</td><td>MANSOURI</td><td>24</td></tr>
</tbody>
</table>
PARTIE 4
25
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
26
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
27
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
Les tableaux
29
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
Classe La description
.table-primary Bleu : indique une action importante
.table-success Vert : indique une action réussie ou positive
.table-danger Rouge : indique une action dangereuse ou potentiellement négative
.table-info Bleu clair : indique une action ou un changement informatif neutre
.table-warning Orange : indique un avertissement qui peut nécessiter votre attention
.table-active Gris : applique la couleur de survol à la ligne ou à la cellule du tableau
.table-secondary Gris : Indique une action un peu moins importante
PARTIE 4
30
02- MAITRISER LES CLASSES CSS DE BASE
Les tableaux
<div class="table-responsive">
<table class="table">
...
</table>
</div>
On peut également décider quand le tableau doit avoir une barre de défilement en fonction de la largeur de
l'écran : Classe Largeur de l'écran
.table-responsive-sm < 576 px
PARTIE 4
31
02- MAITRISER LES CLASSES CSS DE BASE
Les images
Coins arrondis
La classe .rounded ajoute des coins arrondis à une image :
Cercle
La classe .rounded-circle façonne l'image en cercle :
<img src="animal.jpg" class="rounded-circle" alt="animaI">
La vignette
PARTIE 4
32
02- MAITRISER LES CLASSES CSS DE BASE
Les images
Image centrée
PARTIE 4
Centrer une image en ajoutant les classes utilitaires .mx-auto(margin :auto) et .d-block(display :block) à l'image :
<img src="mosquee.jpg" class="mx-auto d-block" alt="Mosquée Hassan II">
33
02- MAITRISER LES CLASSES CSS DE BASE
Les images
34
CHAPITRE 2
MAITRISER LES CLASSES CSS DE BASE
1. Typographie et liens
2. Tableaux
3. Éléments de formulaires et contrôles supportés
4. Boutons
02- MAITRISER LES CLASSES CSS DE BASE
La forme empilée
La classe .form-control permet aux éléments textuels <input> et <textarea> d’obtenir un style empilé dans un formulaire :
<form action="/action_page.php">
<div class="mb-3 mt-3">
<label for="email" class="form-label">Email :</label>
<input type="email" class="form-control" id="email" placeholder="Enter email" name="email">
</div>
<div class="mb-3">
<label for="pwd" class="form-label">Password :</label>
<input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pswd">
</div>
PARTIE 4
36
02- MAITRISER LES CLASSES CSS DE BASE
Formulaire inline
Les classes .row et .col permettent aux éléments du formulaire d’apparaitre les uns à côté des autres:
<form>
<div class="row">
<div class="col">
<input type="text" class="form-control" placeholder="Enter email" name="email">
</div>
<div class="col">
<input type="password" class="form-control" placeholder="Enter password" name="pswd">
</div>
</div>
</form>
PARTIE 4
37
02- MAITRISER LES CLASSES CSS DE BASE
38
02- MAITRISER LES CLASSES CSS DE BASE
39
02- MAITRISER LES CLASSES CSS DE BASE
Les listes
Pour associer un style Bootstrap 5 à une liste de sélection, on utilise la classe .form-select à l'élément <select> :
<select class="form-select">
<option>1</option>
<option>2</option>
<option>3</option> Figure 71 : Liste <select> avec choix unique
<option>4</option>
</select>
<option>3</option>
<option>4</option>
</select> Figure 72 : Liste <select> avec choix multiple
40
02- MAITRISER LES CLASSES CSS DE BASE
41
02- MAITRISER LES CLASSES CSS DE BASE
42
02- MAITRISER LES CLASSES CSS DE BASE
Cases à cocher
La classe .form-switch avec le conteneur .form-check ajoute un style d’interrupteur à bascule pour une case à
cocher.
43
02- MAITRISER LES CLASSES CSS DE BASE
Validation du formulaire
44
CHAPITRE 2
MAITRISER LES CLASSES CSS DE BASE
1. Typographie et liens
2. Tableaux
3. Éléments de formulaires et contrôles supportés
4. Boutons
02- MAITRISER LES CLASSES CSS DE BASE
Les boutons
Styles de boutons
Bootstrap 5 propose différents styles de boutons. Les classes de boutons peuvent être utilisées sur les éléments <a>, <button>
ou <input>.
46
02- MAITRISER LES CLASSES CSS DE BASE
Les boutons
Contour du bouton
Bootstrap 5 fournit également huit types de contours des boutons :
47
CHAPITRE 3
UTILISER LES COMPOSANTS BOOTSTRAP
10 heures
CHAPITRE 3
UTILISER LES COMPOSANTS BOOTSTRAP
1. Barres de navigation
2. Menus déroulants
3. Pagination, badges et alertes
4. Barres de progression
5. Cartes (cards)
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barres de navigation
</ul>
</div>
</nav>y
50
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barres de navigation
51
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barres de navigation
52
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barres de navigation
53
CHAPITRE 3
UTILISER LES COMPOSANTS BOOTSTRAP
1. Barres de navigation
2. Menus déroulants
3. Pagination, badges et alertes
4. Barres de progression
5. Cartes (cards)
03- UTILISER LES COMPOSANTS BOOTSTRAP
Les menus déroulants
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-
haspopup="true" aria-expanded="false"> Menu déroulant <span class="caret"></span>
<button>
<ul class="dropdown-menu">
<li><a href="#" title="Lien 1">Lien 1</a></li>
<li><a href="#" title="Lien 2">Lien 2</a></li>
<li><a href="#" title="Lien 3">Lien 3</a></li>
<li role="separator" class="divider"></li>
<li><a href="#" title="Lien 4">Lien 4></a></li>
</ul>
</div>
PARTIE 4
55
03- UTILISER LES COMPOSANTS BOOTSTRAP
Les menus déroulants
<div class="btn-group">
<button type="button" class="btn btn-default">Menu déroulant</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a href="#" title="Lien 1">Lien 1</a></li>
<li><a href="#" title="Lien 2">Lien 2</a></li>
<li><a href="#" title="Lien 3">Lien 3</a></li>
<li role="separator" class="divider"</li>
<li><a href="#" title="Lien 4">Lien 4</a></li>
PARTIE 4
</ul>
</div>
56
CHAPITRE 3
UTILISER LES COMPOSANTS BOOTSTRAP
1. Barres de navigation
2. Menus déroulants
3. Pagination, badges et alertes
4. Barres de progression
5. Cartes (cards)
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Les alertes
Les alertes sont créées avec la classe .alert, suivie de l'une des classes contextuelles .alert-success, .alert-info, .alert-
warning, .alert-danger, .alert-primary, .alert-secondary, .alert-lightou .alert-dark :
Succès ! Cette boîte d’alerte peut indiquer une action réussie ou positive.
Info ! Cette boîte d’alerte pourrait indiquer un changement ou une action informative
neutre.
Avertissement ! Cette boîte d’alerte peut indiquer un avertissement qui peut nécessiter
PARTIE 4
votre attention.
58
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
59
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Fermeture d’alertes
Pour fermer le message d'alerte, on utilise la classe .alert-dismissible au conteneur d'alerte.
Pour fermer l’alerte, utilisez les classes class="btn-close" et data-bs-dismiss="alert" à un lien ou à un élément de bouton.
Alertes animées
Les classes .fade et .show ajoutent un effet de décoloration lors de la fermeture du message d'alerte :
PARTIE 4
60
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Pagination
La pagination permet de structurer le contenu des pages (les résultats d’une opération de recherche par exemple)
Pour créer une pagination de base, ajouter la classe .pagination à un élément <ul>. Ajouter aussi la classe .page-item (associée
aux éléments <li>) et la classe .page-link associée à chaque lien à l'intérieur <li> :
<ul class="pagination">
<li class="page-item"><a class="page-link" href="#">Previous</a></li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">Next</a></li>
</ul>
PARTIE 4
Figure 87 : Pagination
61
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
<ul class="pagination">
<li class="page-item"><a class="page-link" href="#">Previous</a></li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item active"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">Next</a></li>
</ul>
62
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Dimensionnement de la pagination
Les blocs de pagination peuvent également être dimensionnés à une taille plus grande ou plus petite.
Ajouter la classe .pagination-lg pour les grands blocs ou .pagination-sm pour les petits blocs.
63
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Alignement de la pagination
Les classes utilitaires permettent de modifier l'alignement de la pagination :
<!-- Default (left-aligned) -->
<ul class="pagination" style="margin :20px 0">
<li class="page-item">...</li>
</ul>
<!-- Center-aligned -->
<ul class="pagination justify-content-center" style="margin :20px 0">
<li class="page-item">...</li>
</ul>
<!-- Right-aligned -->
<ul class="pagination justify-content-end" style="margin :20px 0">
<li class="page-item">...</li>
</ul>
PARTIE 4
64
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Breadcrumbs
Une autre forme de pagination est le fil d'Ariane :
Les classes .breadcrumb et .breadcrumb-item indiquent l'emplacement de la page actuelle dans une hiérarchie de
navigation :
<ul class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Photos</a></li>
<li class="breadcrumb-item"><a href="#">Summer 2017</a></li>
<li class="breadcrumb-item"><a href="#">Italy</a></li>
<li class="breadcrumb-item active">Rome</li>
</ul>
PARTIE 4
65
03- UTILISER LES COMPOSANTS BOOTSTRAP
Pagination, badges et alertes
Breadcrumbs
La classe .badge en combinaison avec une classe contextuelle (comme .bg-secondary) dans les éléments <span> permet de
créer des badges rectangulaires. Ces badges s'adaptent à la taille de l'élément parent :
Figure 91 : Breadcrumbs
66
CHAPITRE 3
UTILISER LES COMPOSANTS BOOTSTRAP
1. Barres de navigation
2. Menus déroulants
3. Pagination, badges et alertes
4. Barres de progression
5. Cartes (cards)
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barre de progression
Barre de progression
Pour créer une barre de progression par défaut, on utilise la classe .progress à un élément conteneur et on ajoute la
classe .progress-bar à son élément enfant :
<div class="progress">
<div class="progress-bar" style="width :70%"></div>
</div>
68
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barre de progression
70 %
Figure 94 : étiquette de la barre de progression
69
03- UTILISER LES COMPOSANTS BOOTSTRAP
Barre de progression
70
CHAPITRE 3
UTILISER LES COMPOSANTS BOOTSTRAP
1. Barres de navigation
2. Menus déroulants
3. Pagination, badges et alertes
4. Barres de progression
5. Cartes (cards)
03- UTILISER LES COMPOSANTS BOOTSTRAP
Cartes
Cartes
Une carte dans Bootstrap 5 est une boite bordée avec un peu de rembourrage autour de son contenu. Il comprend des options
pour les entêtes, les pieds de page, le contenu, les couleurs, etc.
Carte de base
Une carte de base est créée avec la classe .card et le contenu à l'intérieur de la carte a une classe .card-body :
<div class="card">
<div class="card-body">Carte de base</div>
</div>
72
03- UTILISER LES COMPOSANTS BOOTSTRAP
Cartes
<div class="card">
<div class="card-header">Entête</div>
<div class="card-body">Teneur</div>
<div class="card-footer">Base de page</div>
</div>
PARTIE 4
73
03- UTILISER LES COMPOSANTS BOOTSTRAP
Cartes
<div class="card">
<div class="card-body">
<h4 class="card-title">Titre de la carte</h4>
<p class="card-text">Quelques exemples de texte. Quelques exemples de texte.</p>
<a href="#" class="card-link">Card link</a>
<a href="#" class="card-link">Another link</a>
</div>
</div>
PARTIE 4
74
03- UTILISER LES COMPOSANTS BOOTSTRAP
Cartes
75
03- UTILISER LES COMPOSANTS BOOTSTRAP
Cartes
Il est possible de transformer une image en arrière-plan de carte et utiliser la classe .card-img-overlay pour ajouter du texte au-
dessus de l'image :
76