developpeur-web-ecran-code-espace-moderne
Blog, Tutoriels

Padding CSS : Comment Gérer les Marges Internes ?

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 :

<div class= »boite-exemple-1″> <p>Far out in the uncharted backwaters of the unfashionable end of the western spiral arm of the Galaxy lies a small unregarded yellow sun.</p> </div>

Et le CSS qu’on applique :

.boite-exemple-1 { border: 2px solid #007bff; background-color: #e9f5ff; padding: 25px; }

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 :

<div class= »boite-exemple-2″> <p>Cet élément a plus d’espace sur les côtés que en haut et en bas.</p> </div>

Le code CSS correspondant :

.boite-exemple-2 { border: 2px solid #28a745; background-color: #eaf7ec; padding: 10px 40px; }

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 :

<div class= »boite-exemple-3″> <p>Cet élément a un espacement différent pour chaque côté, créant un effet asymétrique.</p> </div>

Le code CSS avec quatre valeurs :

.boite-exemple-3 { border: 2px solid #dc3545; background-color: #fbebed; padding: 10px 50px 30px 5px; }

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.

padding: 20px;

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.
padding: 15px 30px;

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.
padding: 10px 25px 50px;

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.

padding: 10px 20px 30px 40px;

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.
div { padding-top: 50px; padding-right: 30px; padding-bottom: 50px; padding-left: 80px; }

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.

Vous pourriez également aimer...