7.1 — Spacing & sizing
⏱️ TL;DR — L’espacement suit la formule
{propriété}{côté}-{taille}:m(margin) /p(padding), côtét/b/s/e/x/you rien, taille0–5ouauto. Ex.mt-3,px-4,my-auto. Le dimensionnement :w-25/50/75/100/auto,h-*,mw-100,vh-100. Tout est responsive (p-md-5).
🎯 Objectifs
- Maîtriser la formule d’espacement.
- Utiliser marges auto pour centrer.
- Dimensionner en pourcentage et viewport.
L’échelle d’espacement
| Taille | Valeur |
|---|---|
| 0 | 0 |
| 1 | 0.25 rem |
| 2 | 0.5 rem |
| 3 | 1 rem |
| 4 | 1.5 rem |
| 5 | 3 rem |
La formule
m | p → margin | padding
t b s e x y ∅ → top, bottom, start, end, axe X, axe Y, tous
0..5 | auto → tailleExemples :
<div class="mt-3">margin-top 1rem</div>
<div class="px-4">padding gauche+droite 1.5rem</div>
<div class="my-5">margin haut+bas 3rem</div>
<div class="p-0">aucun padding</div>
<div class="mx-auto" style="width:200px">centré horizontalement</div>s= start (gauche en LTR),e= end (droite) — pensés pour le RTL.- Marges négatives :
mt-n3(utile pour chevaucher). - Responsive :
p-3 p-md-5(3 par défaut, 5 dès md).
Centrer avec les marges
<div class="mx-auto" style="max-width: 400px">Bloc centré</div>
<div class="d-flex"><div class="ms-auto">Poussé à droite</div></div>Sizing (dimensions)
<div class="w-25">25 %</div>
<div class="w-50">50 %</div>
<div class="w-100">100 %</div>
<div class="h-100">hauteur 100 % du parent</div>
<img class="mw-100" src="…"> <!-- max-width 100% -->
<div class="vh-100">hauteur = viewport</div>
<div class="min-vh-100">au moins la hauteur du viewport</div>Largeurs : w-25/50/75/100/auto. Hauteurs : h-25/50/75/100/auto. Viewport : vw-100, vh-100, min-vw-100, min-vh-100.
⚠️ Piège —
h-100ne fonctionne que si le parent a une hauteur définie. Sur une page « normale »,h-100sur un enfant du body ne donne pas la hauteur de l’écran — utilisezvh-100oumin-vh-100.
💡 Pour un dev React — Si vous venez de Tailwind, l’échelle est proche mais plus courte (0–5 au lieu de 0–96) et en
rem.mt-3de Bootstrap ≈mt-4de Tailwind (1rem). Ne cherchez pas d’équivalent 1:1, retenez l’échelle 0–5.
✏️ Exercices
- Centrer horizontalement un bloc de 300px de large.
✅ Solution
<div class="mx-auto" style="max-width:300px">…</div>.
- Une section qui occupe au moins toute la hauteur de l’écran.
✅ Solution
<section class="min-vh-100">…</section>.
🧠 Quiz de révision
1. Que fait px-4 ?
px-4 ?Padding gauche et droite de 1.5 rem.
2. Que signifie s et e dans ms-2/me-2 ?
s et e dans ms-2/me-2 ?start (gauche en LTR) et end (droite) — pensés pour le RTL.
3. Comment centrer un bloc horizontalement ?
mx-auto (avec une largeur définie).
4. Différence entre h-100 et vh-100 ?
h-100 et vh-100 ?h-100 = 100 % du parent ; vh-100 = 100 % du viewport.
5. Comment écrire une marge haute négative de taille 3 ?
mt-n3.
Chapitre suivant : 7.2 — Couleurs (texte & fond)