TL;DR : Par défaut, j'utilise la marge partout, sauf lorsque j'ai une bordure ou un arrière-plan et que je veux augmenter l'espace à l'intérieur de cette boîte visible.
Pour moi, la plus grande différence entre le remplissage et la marge est que les marges verticales se réduisent automatiquement, alors que le remplissage ne le fait pas.
Considérons deux éléments l'un au-dessus de l'autre, chacun avec un rembourrage de 1em
. Ce remplissage est considéré comme faisant partie de l'élément et est toujours préservé.
Vous vous retrouverez donc avec le contenu du premier élément, suivi par le remplissage du premier élément, suivi par le remplissage du second, suivi par le contenu du second élément.
Ainsi, le contenu des deux éléments se résume à 2em
à part.
Remplacez maintenant ce padding par 1em margin. Les marges sont considérées comme étant à l'extérieur de l'élément, et les marges des éléments adjacents se chevaucheront.
Ainsi, dans cet exemple, vous vous retrouverez avec le contenu du premier élément suivi de 1em
de la marge combinée suivie du contenu du deuxième élément. Ainsi, le contenu des deux éléments est seulement 1em
à part.
Cela peut être vraiment utile lorsque vous savez que vous voulez dire 1em
d'espacement autour d'un élément, quel que soit l'élément à côté duquel il se trouve.
Les deux autres grandes différences sont que le remplissage est inclus dans la zone de clic et la couleur/image d'arrière-plan, mais pas la marge.
div.box > div { height: 50px; width: 50px; border: 1px solid black; text-align: center; }
div.padding > div { padding-top: 20px; }
div.margin > div { margin-top: 20px; }
<h3>Default</h3>
<div class="box">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
<h3>padding-top: 20px</h3>
<div class="box padding">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
<h3>margin-top: 20px; </h3>
<div class="box margin">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
3 votes
Utilisez
padding
sur<a>
lorsque vous souhaitez augmenter le zone focale .