Accueil/Informatique & Développement /Chapitre 03 /Fiche de révision

Bootstrap

Recto-verso. À relire la veille. Le cours · Les exercices

Intégrer

<!-- dans le <head> -->
<link rel="stylesheet"
 href="…/bootstrap@5.3.8/dist/
 css/bootstrap.min.css">

<!-- avant </body> -->
<script src="…/bootstrap@5.3.8/
 dist/js/bootstrap.bundle.min.js">
</script>

Toujours épingler la version. Le CSS seul ne rend rien interactif (navbar, modales).

La grille

container → row → col-*

12 colonnes par ligne, toujours.

col-* = 12 ÷ (éléments par ligne)
col-121 par ligne
col-62 par ligne
col-43 par ligne
col-34 par ligne
col-26 par ligne

Total > 12 → retour à la ligne silencieux.

Points de rupture

PréfixeÀ partir de
(aucun)0 px — mobile
sm576 px
md768 px — tablette
lg992 px — PC
xl1200 px
xxl1400 px

« à partir de », jamais « seulement sur ». Chaque palier écrase le précédent, vers le haut.

Le motif à retenir

<div class="col-12
            col-md-6
            col-lg-3">

1 par ligne sur mobile · 2 sur tablette · 4 sur ordinateur. Du plus petit au plus grand.

Espacements

m ou p + côté + 0…5
t / bhaut / bas
s / estart / end
x / yhorizontal / vertical
rienles 4 côtés

mb-3 · p-4 · py-3 · mt-5

⚡ Piège de version

Bootstrap 4Bootstrap 5
ml-3ms-3
mr-3me-3
pl-/pr- ps-/pe-

Une classe inexistante ne déclenche aucune erreur — elle ne fait rien. Si une marge reste sans effet, regardez cette lettre.

Couleurs

text-primarybleu
text-successvert
text-dangerrouge
text-secondarygris
bg-dark · bg-lightfonds

Composants

btn btn-primarybouton (couleur obligatoire)
card · card-bodycarte + son contenu
card-title · card-texttitre · texte
card-img-topimage en haut
form-controlchamp de saisie
form-labelétiquette
img-fluidimage responsive
h-100hauteur pleine — cartes alignées

Personnaliser

<link … bootstrap.min.css>
<link … style.css>   ← APRÈS

Sa feuille se charge après Bootstrap, sinon elle est écrasée. En cas de conflit : sélecteur plus spécifique, pas !important.

Ce que Bootstrap ne fait PAS

  • Il ne valide pas les formulaires : name, required, method, action restent du HTML.
  • Il ne marche pas hors-ligne si chargé par CDN.
  • Il ne dispense pas de connaître Flexbox : row/col, c'est du Flexbox déguisé.

Les 3 oublis de grille

  1. Pas de row autour des colonnes.
  2. Total ≠ 12.
  3. Du contenu directement dans la row (tout enfant doit être une col-*).