Cause
De la documentation MDN :
[La propriété margin] s'applique à tous les éléments sauf les éléments avec des types d'affichage de table autres que table-caption, table et inline-table
En d'autres termes, la margin
propriété n'est pas applicable aux display:table-cell
éléments.
Solution
Envisagez border-spacing
plutôt d' utiliser la propriété.
Notez qu'il doit être appliqué à un élément parent avec une display:table
disposition et border-collapse:separate
.
Par exemple:
HTML
<div class="table">
<div class="row">
<div class="cell">123</div>
<div class="cell">456</div>
<div class="cell">879</div>
</div>
</div>
CSS
.table {display:table;border-collapse:separate;border-spacing:5px;}
.row {display:table-row;}
.cell {display:table-cell;padding:5px;border:1px solid black;}
Marge différente horizontalement et verticalement
Comme mentionné par Diego Quirós, la border-spacing
propriété accepte également deux valeurs pour définir une marge différente pour les axes horizontal et vertical.
Par exemple
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */
padding
peut être défini pour tout sélecteur nécessaire (par exemple, classe ou id), comme d'habitude. Si vous voulez diremargin
entre les cellules, cela peut être défini séparément pour les axes vertical et horizontal en définissant deux valeurs surborder-spacing
, mais cela s'appliquera à l'ensemble du tableau et non aux cellules individuelles.Vous pouvez utiliser des divisions internes pour définir la marge.
JS Fiddle
la source
.inner-div { margin-right: 5px; } .outer-cell:last-child .inner-div { margin-right: 0; }
. Mais notez également ce problème: les arrière-plans rouge et vert de cet exemple ne correspondent pas nécessairement en hauteur car ils ne sont pas sur les cellules.Les cellules du tableau ne respectent pas la marge, mais vous pouvez utiliser des bordures transparentes à la place:
Remarque: vous ne pouvez pas utiliser de pourcentages ici ... :(
la source
Si vous avez div les uns à côté des autres comme ça
Cela devrait fonctionner!
la source