Académique Documents
Professionnel Documents
Culture Documents
ISMONTIC TANGER
2021-2022
Introduction
Bootstrap est un framework CSS. Un framework correspond à un ensemble de
librairies regroupées dans un but précis et possédant des règles internes que doivent
suivre les utilisateurs.
En d’autres termes, et pour le dire très simplement, Bootstrap est un ensemble de
fichiers CSS et JavaScript fonctionnant ensemble et qu’on va pouvoir l’utiliser pour
créer des design complexes de manière relativement simple.
Le framework Bootstrap est donc un ensemble de fichiers CSS et JavaScript qui
contiennent des règles prédéfinies. Ces ensembles de règles sont enfermés dans des
classes et nous n’aurons donc qu’à utiliser les classes qui nous intéressent afin
d’appliquer un ensemble de styles à tel ou tel élément HTML.
Avantages
Bootstrap possède trois grands avantages notables par rapport aux autres solutions à
notre portée qui se limitent concrètement à écrire tout son code soi-même ou à avoir
Bootstrap, nous allons donc simplement devoir utiliser ces fichiers. On va pouvoir
site https://getbootstrap.com/ puis les lier à nos fichiers HTML comme n’importe
Pour utiliser ce système de grilles Bootstrap, nous allons avant tout devoir définir un
de taille fixe, ce qui signifie que notre conteneur aura toujours la même taille pour un
La largeur d’un conteneur défini avec .container va être la suivante entre chaque
breakpoint :
Système de grilles de Bootstrap
La classe .container-fluid permet de définir un conteneur de taille fluide, c’est-à-dire
un conteneur dont la taille va changer en même temps que celle de la fenêtre de vos
largeur disponible.
Regardez plutôt les exemples ci-dessous pour bien comprendre comment fonctionnent
Pour créer une grille, il suffit de définir un élément conteneur en passant l’une des
Commençons par créer une grille très simple avec une ligne et trois colonnes qui vont
occuper la même largeur. La classe .col permet de définir des colonnes personnalisées
pour une ligne sans indiquer de taille explicite pour ces colonnes.
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Création d’une grille avec des colonnes de tailles différentes
On va pouvoir faire cela en indiquant le nombre de colonnes de base que doit occuper
Pour indiquer explicitement le nombre de colonnes de base que doivent occuper nos
colonnes personnalisées, nous allons plutôt utiliser les classes .col-1, .col-2… .col-12.
En passant une classe .col-1 à un élément, on indique qu’on souhaite créer une
colonne d’une taille équivalente à celle d’une colonne de base des grilles
Bootstrap. En passant .col-2 on va créer une colonne qui va occuper l’espace de deux
puisque nos colonnes personnalisées sont construites à partir des 12 colonnes de base
Dans le cas où on essaie de créer des colonnes dans une ligne en utilisant plus de 12
colonnes de base, alors les colonnes personnalisées ne rentrant pas dans la ligne iront
utilisant .col et .col-1, .col-2… .col-12 dans une même ligne. Dans ce cas-là, les
premier puis l’espace restant sera distribué entre les colonnes définies avec la
classe .col.
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Modifier la disposition des colonnes en fonction des écrans : le responsive
On pourra vouloir qu’un élément occupe une largeur égale à 3 colonnes de base pour
un grand écran puis à 6 colonnes pour une taille d’écran 2 fois plus petite par exemple
Pour faire cela, on va pouvoir utiliser les classes .col-sm, .col-md, .col-lg et .col-xl en
plus de .col.
Ces classes sont liées aux breakpoints définis par Bootstrap. L’idée ici est très simple :
selon la taille de la fenêtre, les styles d’une classe vont être appliqués prioritairement
Exemple :
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
On passe ici des classes .col-md-* à nos éléments de ligne. Cela signifie qu’on crée
des colonnes personnalisées bien pour un affichage dans des fenêtres de taille
entre la 1ère et la 3ème colonne de la ligne. Pour des fenêtres de taille inférieure à
768px, en revanche, aucune taille ni comportement n’a été explicitement définie pour
nos colonnes personnalisées. Pour ces tailles de fenêtre, chaque colonne personnalisée
occupera donc par défaut tout l’espace disponible dans la ligne ce qui signifie que
pour définir nos colonnes, alors la taille de ces colonnes (le nombre de colonnes de
base occupées par chacune d’entre elles) sera définie par la classe .col-sm- pour les
classe .col-lg- qui va être prioritaire et indiquer les nouvelles dimensions des
colonnes.
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Définir automatiquement la largeur des colonnes en fonction de leur contenu
Si on souhaite que la place prise par les colonnes créées soit calculée
classes .col-{breakpoint}-auto plutôt que d’utiliser des classes avec des numéros.
Créer des colonnes dans les grilles
Bootstrap et gérer leur taille
Gérer l’alignement et l’espacement
des colonnes des grilles Bootstrap
Gérer l’alignement vertical des colonnes dans une ligne
Par défaut, les colonnes vont occuper toute la hauteur d’une ligne. On va cependant
pouvoir demander aux colonnes de n’occuper que la place nécessaire à leur contenu et
de s’aligner soit au début, soit au milieu, soit en fin de ligne selon l’axe vertical.
Bootstrap va nous fournir deux grandes façons d’aligner nos colonnes verticalement
nous allons soit pouvoir aligner toutes les colonnes en même temps,
soit pouvoir aligner les colonnes une par une de manière différente.
Gérer l’alignement et l’espacement
des colonnes des grilles Bootstrap
Pour aligner toutes les colonnes en même temps par rapport à une ligne, nous allons
appliquer les classes .align-items-* à nos lignes. Nous pouvons choisir parmi trois
les classes .align-self-* qu’on va utiliser avec chaque élément cette fois-ci. Là encore,
dans le cas où les colonnes créées n’occupent pas tout l’espace de la ligne, c’est-à-
dire dans le cas où il reste de l’espace à distribuer entre les colonnes. Cela va être le
cas si on utilise des classes .col-{nombre} pour chaque colonne de la ligne et que la
Chaque colonne va posséder le même écart à droite et à gauche, même celles situées
avec width et height puisque le padding et border sont alors intégrés dans le calcul de
la taille de l’élément.
Ils ont également définit quelques styles dans le sélecteur body et notamment la
Les paragraphes et les titres ont une marge externe haute nulle et des marges externes
plupart des navigateurs appliquent une taille de 1rem pour les paragraphes et les
Dans leur état de base, les liens ont une couleur bleu clair et ne possède pas de trait de
Les listes ont également une marge externe haute nulle. La taille de la marge externe
basse est fixée à 1rem sauf dans le cas de listes imbriquées auquel cas la marge
Enfin, Bootstrap met à notre disposition les classes .h1, .h2… .h6 qui vont nous
permettre d’appliquer des styles similaires aux titres à n’importe quel autre contenu
textuel.
Les classes CSS de base
Modifier le poids d’une police
Pour modifier le poids d’une police, c’est-à-dire son épaisseur, on va pouvoir utiliser
Bootstrap nous fournit différentes classes nous permettant d’aligner un texte à droite,
suivantes :
Pour cela, nous allons devoir ajouter les préfixes connus -sm-, -md-, -lg- et -xl- à nos
classes ci-dessus.
que pour des alignements à gauche, au milieu et à droite mais pas pour un alignement
justifié.
Les classes CSS de base
Couleur et opacité des textes
Les classes Bootstrap nous permettant de modifier la couleur des textes sont les
Nous allons pouvoir modifier la couleur de fond de nos éléments en utilisant le même
système de « couleurs contextuelles » fourni par Bootstrap que pour nos textes.
La seule différence est que nous allons cette fois-ci utiliser le préfixe .bg- (pour
viewport. Le viewport correspond à la fenêtre active. Nous allons ici être limités aux
classes suivantes :
Nous allons déjà pouvoir ajouter une bordure carrée autour d’un élément ou sur un
côté spécifique d’un élément. Pour cela, nous allons utiliser les classes suivantes :
.border : va ajouter une bordure de couleur grise par défaut tout autour de l’élément ;
couleur grise respectivement par défaut uniquement sur le côté haut, droit, bas et haut
de l’élément ;
Les classes CSS de base
Enlever certaines bordures d’un élément
pouvoir supprimer toutes les bordures d’un élément ou seulement une bordure d’un
classe border-*.
bordures avec Bootstrap en utilisant les classes suivantes. Notez bien encore une fois
que ces classes ne vont pas créer de bordures mais simplement modifier l’apparence
Les classes CSS de base
d’une bordure déjà existante. Pour créer notre bordure, nous devrons également utiliser
Une fusion des bordures est appliquée par défaut aux tableaux avec border-collapse :
collapse. L’élément caption (servant à ajouter une légende) est également stylisé.
Les classes CSS de base
Classe Description
.table ajoute un style de base à une table
.table-striped ajoute des rayures zébrées à un tableau
.table-bordered ajoute des bordures sur tous les côtés du tableau et des
cellules
.table-hover ajoute un effet de survol (couleur de fond grise) sur les lignes
du tableau
.table-dark ajoute un fond noir au tableau
.table-borderless supprime les bordures du tableau
Les classes CSS de base
Classes contextuelles : Les classes contextuelles peuvent être utilisées pour colorer tout
le tableau ( <table>), les lignes du tableau ( <tr>) ou les cellules du tableau ( <td>).
Les classes CSS de base
Couleurs des têtes de table
barre de défilement
besoin (lorsqu'il est trop grand horizontalement), Vous pouvez également décider
l'écran :
Les classes CSS de base
Les classes CSS de base
Ajouter des marges aux éléments avec Bootstrap
extérieures à nos éléments vont toutes être construites sur le même modèle qui est le
Dans le cas où l’on souhaite appliquer des marges différentes à nos éléments selon la
{type de marge}{côté}-{breakpoint}-{taille}.
Les classes CSS de base
Pour le premier élément de notre classe, c’est-à-dire le type de marge, nous allons
Au niveau du côté de l’élément auquel doit s’appliquer la marge, nous avons le choix
top ou un padding-top ;
Les classes CSS de base
b va nous permettre d’ajouter une marge (margin ou padding) basse;
Notez que si on omet le paramètre « côté » dans notre classe, alors la marge
Finalement, nous allons pouvoir choisir parmi 7 valeurs différentes pour définir la
La valeur auto va être exclusive aux marges extérieures et définir une margin : auto.
Eléments de formulaires et contrôles
supportés
Bootstrap applique un display : block à la plupart des éléments de formulaire par
défaut, ce qui signifie que la plupart des éléments occuperont leur propre ligne.
Nous allons également utiliser une classe .form-group pour grouper des label avec le
plus grands).
Eléments de formulaires et contrôles
supportés
Structurer un formulaire avec Bootstrap
Généralement, nous allons vouloir grouper un label avec son input comme ci-dessous
Eléments de formulaires et contrôles
supportés
Si on souhaite créer une structure plus complexe pour notre formulaire, on peut
également utiliser le système des grilles Bootstrap pour gérer la disposition des
éléments de formulaire. Par ailleurs, notez que Bootstrap dispose d’une classe .form-
row qu’on va pouvoir utiliser à la place de .row pour nos formulaires et qui applique
différents label et input entre eux en utilisant le système des grilles et .form-group
(pour ajouter des sauts de ligne entre les lignes). On rajoutera ici en plus une
Nous allons pouvoir utiliser la classe .form-inline avec notre élément form pour
afficher des groupes d’éléments de formulaires label, input, etc. côte-à-côte, c’est-à-
dire sur la même ligne). Cette classe applique les styles suivants :
Les groupes d’input et les champs de formulaire sont définis avec width: auto à la
Vous pouvez utiliser différentes classes de validation pour fournir des commentaires
l'élément <form>, selon que vous souhaitez fournir des commentaires de validation
avant ou après la soumission du formulaire. Les champs de saisie auront une bordure
formulaire. Vous pouvez également ajouter un message à travers les classes .valid-
Nous allons pouvoir utiliser les couleurs contextuelles Bootstrap avec nos boutons
pour leur appliquer un fond coloré. Lors du survol de la souris sur un bouton, la
Utilisez la .btn-lg classe pour les gros boutons ou la classe .btn-sm pour les petits
boutons :
Créer des boutons stylisés avec
Bootstrap
Bloquer les boutons de niveau
Ajoutez une classe .btn-block pour créer un bouton au niveau du bloc qui s'étend sur
Une barre de navigation standard est créée avec la classe .navbar, suivie d'une classe
Pour ajouter des liens dans la barre de navigation, utilisez un élément <ul>
avec class="navbar-nav". Ajoutez ensuite des <li>éléments avec une classe .nav-
verticale :
Conseil : ajoutez une couleur de texte blanche à tous les liens de la barre de
Pour créer une barre de navigation pliable, masquer les liens de navigation et les
remplacer par un bouton qui devrait les faire apparaître lorsqu'on clique dessus,
data-bs-target="#thetarget"
<ul>. Ajoutez ensuite le classe .page-item à chaque élément <li> et une classe .page-
pagination :
Utiliser les composants Bootstrap:
Badges
Les badges sont utilisés pour ajouter des informations supplémentaires à tout
contenu. Utilisez la classe .badge avec une classe contextuelle (comme .badge-
secondary) dans des éléments <span> pour créer des badges rectangulaires. Notez
que les badges sont mis à l'échelle pour correspondre à la taille de l'élément parent.
Utiliser les composants Bootstrap:
Badges
Utilisez la classe .badge-pill pour rendre les badges plus ronds :
Utiliser les composants Bootstrap:
Alertes
Bootstrap fournit un moyen simple de créer des messages d'alerte prédéfinis :
Utiliser les composants Bootstrap:
Alertes
Les alertes sont créées avec la classe .alert, suivie de l'une des classes
Exemple
Utiliser les composants Bootstrap:
Alertes
Liens d'alerte
Ajoutez la classe alert-link à tous les liens à l'intérieur de la boîte d'alerte pour créer
Exemple
Utiliser les composants Bootstrap:
Barre de progression
Barre de progression de base
Une barre de progression peut être utilisée pour montrer où en est un utilisateur dans
un processus.
Pour créer une barre de progression par défaut, ajoutez une classe .progress à un
défaut. Utilisez la propriété CSS height pour le modifier. Notez que vous devez
couleur :
la barre de progression :
empilées :
Utiliser les composants Bootstrap:
Barre de progression
Utiliser les composants Bootstrap:
carte
Le composant carte ou « card » de Bootstrap est un conteneur flexible et extensible.
Concrètement, il s’agit d’une boite rectangulaire avec bordure qui peut être composée
Les cartes n’ont pas de dimension intrinsèque, ce qui fait qu’elles tenteront d’occuper
tout l’espace dans leur parent par défaut. Elles ne possèdent pas non plus de marges
externes.
Utiliser les composants Bootstrap:
carte
Structure d’une carte : header, body et footer
Pour définir une card, on va déjà devoir ajouter une classe .card à un élément
On va ensuite pouvoir découper notre carte en trois parties distinctes : un en-tête avec
classe card-footer.
Utiliser les composants Bootstrap:
carte
Les éléments des cartes et les classes associées
On va pouvoir placer plus ou moins n’importe quel contenu HTML dans une carte :
du texte, des images, les listes, des liens, etc. Pour que certains de ces éléments soient
convenablement mis en forme, on va devoir leur ajouter des classes de type card-*.
On va ainsi pouvoir ajouter une classe .card-title aux éléments de titre et une
classe .card-subtitle pour les sous titres. Les autres textes vont pouvoir être mis en
Enfin, pour intégrer une image dans notre carte, on va pouvoir choisir entre les
Utiliser les composants Bootstrap:
carte
classes .card-img, .card-img-top et .card-img-bottom.
Notez qu’on placera l’image en premier ou dernier élément de la carte pour qu’elle
Si on définit plusieurs cartes à la suite et qu’on souhaite que celles-ci soient alignées
les unes par rapport aux autres et qu’elles soient de même taille, on peut utiliser l’une
En utilisant .card-group, les cartes seront collées les unes aux autres. En