Aide CSS : Les blocs et le box-sizing
¶
1. Les blocs en CSS¶
En CSS, chaque élément HTML est représenté comme une boîte rectangulaire.
Cette boîte est composée de plusieurs couches :
- Content : le contenu (texte, image, etc.)
- Padding : l’espace entre le contenu et la bordure
- Border : la bordure autour de l’élément
- Margin : l’espace entre l’élément et les autres éléments
Représentation :
+---------------------------+
| Margin |
| +---------------------+ |
| | Border | |
| | +--------------+ | |
| | | Padding | | |
| | | +---------+ | | |
| | | | Content | | | |
| | | +---------+ | | |
| | +--------------+ | |
| +---------------------+ |
+---------------------------+
2. Le rôle de box-sizing
¶
L’attribut box-sizing
définit comment la largeur (width
) et la hauteur (height
) d’un élément sont calculées.
Valeurs principales :¶
-
content-box
(valeur par défaut)
La taille (width
etheight
) ne prend en compte que le contenu.
Le padding et la border s’ajoutent donc à la taille totale. -
border-box
La taille (width
etheight
) inclut le contenu + padding + border.
Cela évite que l’élément « déborde » et facilite la mise en page.
3. Exemple comparatif¶
Avec content-box
(par défaut)¶
div {
width: 100rem;
padding: 1.5rem;
border: 0.5rem solid black;
}
➡️ Taille totale = 100rem (contenu) + 1.5rem (padding) + 0.5rem (border) = 102 rem.
Avec border-box
¶
div {
width: 100rem;
padding: 1.5rem;
border: 0.5rem solid black;
}
➡️ Taille totale = 100rem (inclut contenu + padding + border).
4. Bonne pratique¶
Il est courant d’appliquer box-sizing: border-box;
à tous les éléments pour simplifier la gestion des tailles et assurer un site réactif en conservant les bonnes proportions :
* {
box-sizing: border-box;
}