Le modèle de boîte
Donne à une boîte width: 200px, 16px de padding et une bordure de 2px : par défaut, elle occupe 236 pixels de large à l'écran, et non 200.
Chaque élément est une boîte
Pour mettre en page, le navigateur transforme chaque élément en rectangle. Chaque boîte a quatre couches, de l'intérieur vers l'extérieur. La zone de contenu contient le texte ou l'image. Le padding (marge intérieure) est l'espace à l'intérieur de la boîte, entre le contenu et la bordure, et il prend la couleur de fond de la boîte. La bordure est une ligne autour du padding. La marge est l'espace à l'extérieur de la bordure qui repousse les autres boîtes ; elle est toujours transparente. Les outils de développement du navigateur dessinent exactement ce schéma quand tu inspectes un élément, avec les valeurs indiquées.
Le raccourci pour les quatre côtés
padding, margin et border-width acceptent une à quatre valeurs, dans le sens des aiguilles d'une montre à partir du haut. padding: 16px règle les quatre côtés. padding: 8px 16px met 8 en haut et en bas, et 16 à gauche et à droite. padding: 4px 8px 12px 16px règle le haut, la droite, le bas et la gauche, dans cet ordre. On peut aussi régler chaque côté séparément, comme avec margin-top. border: 2px solid #333 règle ensemble l'épaisseur, le style et la couleur ; sans un style comme solid ou dashed, aucune bordure n'est dessinée.
box-sizing : le réglage que presque tout le monde change
Par défaut, width et height fixent seulement la taille de la zone de contenu, et le padding et la bordure s'ajoutent par-dessus. C'est le modèle content-box, et il complique les mises en page : deux boîtes en width: 50% avec le moindre padding ne tiennent plus côte à côte. Avec box-sizing: border-box, la largeur inclut le padding et la bordure, et la zone de contenu rétrécit pour leur faire de la place. Beaucoup de feuilles de style commencent par l'appliquer à tous les éléments avec *, *::before, *::after { box-sizing: border-box; }.
Boîtes de bloc et boîtes en ligne
Les boîtes se comportent différemment selon leur valeur de display. Les boîtes de bloc, comme p, h1 et section, commencent sur une nouvelle ligne et s'étirent sur toute la largeur de leur conteneur. Les boîtes en ligne, comme a, strong et span, se placent dans une ligne de texte ; width et height ne s'y appliquent pas, et leurs padding et marges verticaux n'écartent pas les autres lignes. display: inline-block est entre les deux : la boîte se place dans la ligne comme un mot mais respecte la largeur, la hauteur et le padding, ce qui convient aux petites étiquettes et aux boutons.
Les marges qui fusionnent
Une règle surprend presque tout le monde. Quand la marge basse d'un bloc rencontre la marge haute du suivant, elles ne s'additionnent pas : la plus grande l'emporte. Un paragraphe avec margin-bottom: 20px suivi d'un titre avec margin-top: 30px se retrouve à 30 pixels, et non à 50. On appelle cela la fusion des marges ; elle ne concerne que les marges verticales entre blocs dans le flux normal, pas à l'intérieur des conteneurs flex ou grid. Pour centrer un bloc horizontalement, donne-lui une width ou une max-width et margin: 0 auto : les deux marges latérales automatiques se partagent équitablement l'espace libre.
outline: none, remplace-le par un autre style de focus bien visible.| zone de contenu | Là où se trouvent le texte et les images |
| padding | Espace à l'intérieur de la bordure ; laisse voir le fond |
| bordure | Ligne autour du padding ; a besoin d'un style |
| marge | Espace transparent à l'extérieur de la bordure |
| box-sizing: border-box (boîte bordure comprise) | width inclut le padding et la bordure |
| fusion des marges | Marges verticales qui se touchent : la plus grande l'emporte |
| inline-block | Se place dans la ligne mais respecte la largeur et le padding |
- Range les couches de l'intérieur vers l'extérieur.
- content-box : width 300px, padding 20px, bordure 5px. Largeur totale ?
- border-box : width 300px, padding 20px, bordure 5px. Quelle est la largeur de la zone de contenu ?
- Que règle
margin: 10px 20px?- 10 en haut et en bas, 20 à gauche et à droite
- 10 à gauche et à droite, 20 en haut et en bas
- 10 en haut, 20 en bas
padding: 1px 2px 3px 4px: combien à gauche ?- Une margin-bottom de 20px rencontre une margin-top de 30px. Quelle est la taille de l'écart ?
- Pourquoi
border: 2px #333ne dessine-t-il rien ?- Il n'y a pas de style de bordure comme solid
- La couleur est trop foncée
- Les bordures ont besoin d'une marge
- Quelle valeur de display permet à un span d'avoir une largeur et un padding vertical tout en restant dans la ligne ?
- inline-block
- inline
- none
- Comment centrer horizontalement un bloc de 600px de large ?
- margin: 0 auto
- padding: auto
- text-align: center on the block
- Quelle partie de la boîte affiche la couleur de fond ?
- Le contenu et le padding (et sous la bordure)
- Seulement le contenu
- La marge aussi
- Contenu, padding, bordure, marge.
- content-box ajoute le padding et la bordure à width ; border-box les inclut.
- Le raccourci tourne dans le sens des aiguilles d'une montre à partir du haut ; les marges verticales qui se touchent fusionnent.
Sources de ce cours (6)
- W3C CSS Working Group specifications: CSS Snapshot 2025, Selectors Level 4, CSS Cascading and Inheritance Level 5, CSS Color Level 4, CSS Values and Units Level 4, CSS Box Model Level 3, CSS Box Sizing Level 3, CSS Fonts Level 4, CSS Flexible Box Layout Level 1, CSS Grid Layout Level 2, Media Queries Level 4 and Level 5 (w3.org/TR/, checked 2026-10-17)
- MDN Web Docs, Learn web development: CSS styling basics and CSS layout, and the CSS reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Styling_basics, .../Core/CSS_layout, developer.mozilla.org/en-US/docs/Web/CSS, checked 2026-10-17)
- W3C, CSS history and CSS1 Recommendation of 17 December 1996 (w3.org/Style/CSS20/history.html, w3.org/press-releases/1996/css1-rec, checked 2026-10-17)
- W3C WCAG 2.2, success criteria 1.4.3 Contrast (Minimum)
- 1.4.8 Visual Presentation, 1.4.10 Reflow, 1.4.12 Text Spacing (w3.org/TR/WCAG22/, checked 2026-10-17)
- every code exercise checked with a Playwright probe against a reference solution.
Consulté le: 2026-10-17