Le Box Model (modèle de boîte) est un concept fondamental en CSS. Chaque élément HTML est considéré comme une boîte rectangulaire composée de 4 zones : le contenu, le padding (remplissage intérieur), la bordure et la marge.
Comprendre le Box Model est essentiel pour maîtriser la mise en page et l'espacement des éléments.
La zone où le contenu réel est affiché (texte, images, etc.).
📐 Propriétés :
• width : largeur
• height : hauteur
• min-width / max-width
• min-height / max-height
Espace entre le contenu et la bordure (transparent).
💡 Astuce : Le padding hérite de la couleur de fond de l'élément
Contour visible autour du padding et du contenu.
Espace extérieur, entre l'élément et les autres éléments (transparent).
⚠️ Note : Les marges peuvent "fusionner" (margin collapse)
Par défaut, width et height ne s'appliquent qu'au
contenu. Le padding et la bordure s'ajoutent à cette taille.
✅ Avantage : Calculs plus prévisibles, mise en page plus simple
🌟 Recommandation : Toujours utiliser box-sizing: border-box dans vos projets !
Prend toute la largeur disponible, commence sur une nouvelle ligne.
📋 Éléments block par défaut :
div, p, h1-h6, section, article, header, footer, ul, li
Prend uniquement la largeur nécessaire, reste sur la même ligne.
📋 Éléments inline par défaut :
span, a, strong, em, img
⚠️ Limitation : width et height n'ont pas d'effet
Comme inline, mais accepte width, height, padding et margin.
✅ Usage : Boutons, cartes côte à côte, menus horizontaux
Cache complètement l'élément (n'occupe pas d'espace).
💡 Alternative :
visibility: hidden; cache l'élément mais garde l'espace
| Propriété | Nouvelle ligne | Width/Height | Padding/Margin | Usage |
|---|---|---|---|---|
| block | Oui | ✅ Oui | ✅ Tous | Sections, conteneurs |
| inline | Non | ❌ Non | ⚠️ Horizontal seul | Texte, liens |
| inline-block | Non | ✅ Oui | ✅ Tous | Boutons, cartes |
| none | - | - | - | Masquer complètement |
🎯 Objectifs de ce cours :
✅ Comprendre les 4 composantes du Box Model (content, padding, border, margin)
✅ Maîtriser les syntaxes raccourcies pour padding et margin
✅ Utiliser box-sizing: border-box pour des calculs prévisibles
✅ Connaître les différences entre block, inline et inline-block
📖 Points clés à retenir :
• Le Box Model détermine la taille et l'espacement des éléments
• Padding = espace intérieur, Margin = espace extérieur
• Toujours utiliser box-sizing: border-box pour faciliter les calculs
• display: block = nouvelle ligne, prend toute la largeur
• display: inline = même ligne, ne respecte pas width/height
• display: inline-block = même ligne + width/height
🏋️ Exercice pratique :
Créez 3 cartes (cards) côte à côte avec :
• Une bordure colorée différente pour chaque carte
• Du padding pour espacer le contenu
• Des marges pour séparer les cartes
• Une largeur fixe avec box-sizing: border-box
