Vous voulez créer de l’espace à l’intérieur d’un élément sur votre page web ? La propriété CSS `padding` est l’outil qu’il vous faut.
Ce guide vous montre comment l’utiliser avec des exemples de code clairs pour aérer vos mises en page.
Exemples concrets d’utilisation de la propriété `padding`
Le meilleur moyen de comprendre le `padding`, c’est de voir comment il fonctionne. Voici trois cas pratiques pour illustrer son utilité.
Exemple 1 : Un padding identique sur les quatre côtés
Le cas le plus simple : vous voulez ajouter le même espace tout autour de votre contenu. C’est parfait pour un bouton ou une carte simple.
Voici le code HTML de notre boîte :
Et le CSS qu’on applique :
Le résultat est simple. Le code ajoute 25px d’espace sur tous les côtés à l’intérieur de la bordure bleue. Le texte ne touche plus les bords, ce qui le rend plus lisible.
Exemple 2 : Un padding vertical et horizontal différent
Parfois, vous avez besoin de plus d’espace sur les côtés qu’en haut et en bas. C’est typique pour les champs de formulaire ou les bannières.
Le code HTML :
Le code CSS correspondant :
Ici, padding: 10px 40px; applique 10px de marge interne en haut et en bas, et 40px de marge interne à gauche et à droite. L’élément s’étire horizontalement sans prendre trop de place en hauteur.
Exemple 3 : Un padding spécifique pour chaque côté
Pour un contrôle total, vous pouvez définir une valeur différente pour chaque côté. C’est utile pour des mises en page asymétriques ou créatives.
Le code HTML :
Le code CSS avec quatre valeurs :
L’ordre est important : haut, droite, bas, gauche (dans le sens des aiguilles d’une montre). Cet élément aura donc 10px en haut, 50px à droite, 30px en bas et seulement 5px à gauche.
Maîtriser la syntaxe raccourcie de `padding`
La propriété `padding` est une syntaxe « raccourcie » (shorthand). Ça veut dire qu’elle peut remplacer quatre propriétés individuelles en une seule ligne. C’est plus rapide à écrire et plus facile à lire. Voici comment ça marche.
Avec une seule valeur
C’est la méthode la plus simple. Une seule valeur s’applique aux quatre côtés de l’élément en même temps.
Résultat : 20px de marge interne sur le haut, la droite, le bas et la gauche.
Avec deux valeurs
Quand vous donnez deux valeurs, le navigateur les interprète par paires.
- La première valeur s’applique au padding haut et bas.
- La deuxième valeur s’applique au padding gauche et droit.
Résultat : 15px en haut et en bas, et 30px sur les côtés.
Avec trois valeurs
Cette syntaxe est un peu moins courante mais reste utile.
- La première valeur est pour le haut.
- La deuxième valeur est pour la gauche et la droite.
- La troisième valeur est pour le bas.
Résultat : 10px en haut, 25px sur les côtés, et 50px en bas.
Avec quatre valeurs
C’est la méthode qui offre le plus de contrôle. Les quatre valeurs sont appliquées dans l’ordre des aiguilles d’une montre.
L’ordre est toujours le même : haut, droite, bas, gauche. Ici, ça donne :
- padding-top: 10px
- padding-right: 20px
- padding-bottom: 30px
- padding-left: 40px
Quand utiliser les propriétés `padding` individuelles ?
Même si la syntaxe raccourcie est pratique, il y a des situations où il est plus simple d’utiliser les propriétés individuelles. C’est surtout le cas quand vous voulez modifier une seule valeur sans toucher aux autres.
Par exemple, si une classe CSS globale définit un `padding` de `20px` sur tous vos `div`, mais que pour un `div` spécifique vous voulez juste changer le haut.
Les quatre propriétés sont :
- `padding-top` : définit l’espace du contenu en haut.
- `padding-right` : définit l’espace du contenu à droite.
- `padding-bottom` : définit l’espace du contenu en bas.
- `padding-left` : définit l’espace du contenu à gauche.
Ce code est strictement équivalent à `padding: 50px 30px 50px 80px;`. C’est juste plus long à écrire.
La différence essentielle entre `padding` et `margin`
C’est une confusion classique chez les débutants. La différence est simple mais fondamentale pour bien construire une page.
Imaginez une photo dans un cadre.
- Le `padding`, c’est l’espace entre la photo et le bord intérieur du cadre.
- La `margin`, c’est l’espace entre le bord extérieur du cadre et le mur (ou les autres cadres).
En résumé :
- `padding` : gère l’espace à l’intérieur de la bordure d’un élément. Il agrandit l’élément lui-même. La couleur de fond de l’élément s’applique aussi au `padding`.
- `margin` : gère l’espace à l’extérieur de la bordure. Elle pousse les autres éléments pour créer de la distance. La `margin` est toujours transparente.
Quelles valeurs et unités utiliser pour `padding` ?
La propriété `padding` accepte plusieurs types de valeurs. Le choix dépend du résultat que vous voulez obtenir. Une note importante : le `padding` ne peut pas avoir de valeurs négatives, contrairement à la `margin`.
Voici les unités les plus courantes :
- `
` : Ce sont des valeurs fixes.- px (pixels) : Le plus courant pour un contrôle précis. Ex : `padding: 10px;`.
- em : Relatif à la taille de la police de l’élément. `1em` = taille de la police actuelle.
- rem : Relatif à la taille de la police de la racine du document (l’élément ``).
- `
` : Un pourcentage (%). Cette valeur est toujours calculée par rapport à la largeur de l’élément parent, même pour le `padding` haut et bas. C’est un point technique important à retenir. - Mots-clés globaux :
- `inherit` : l’élément hérite du `padding` de son parent.
- `initial` : réinitialise le `padding` à sa valeur par défaut, qui est `0`.
- `unset` : se comporte comme `inherit` si la propriété est héritée, sinon comme `initial`.
Compatibilité technique
La propriété `padding` est applicable à tous les éléments sauf certains cas spécifiques aux tableaux comme `table-row-group`, `table-header-group`, `table-footer-group`, `table-row`, `table-column-group` ou `table-column`. On peut donc noter qu’elle ne fonctionne pas sur un `row group group`, un `group group row`, un `group row column` ou un `row column group` car ces éléments n’ont pas de modèle de boîte standard. All element box models except table-specific ones are compatible. The type d’animation est `length`. La valeur initiale de chaque propriété est `0`.
Le `padding` est un outil de base en CSS. Le maîtriser est essentiel pour créer des interfaces propres et bien espacées.
Retenez surtout la différence avec `margin` et l’ordre des valeurs dans la syntaxe raccourcie (haut, droite, bas, gauche). Avec ça, vous pouvez déjà gérer la plupart des situations de mise en page.
