Sebab
Dari dokumentasi MDN :
[Properti margin] berlaku untuk semua elemen kecuali elemen dengan tipe tampilan tabel selain table-caption, table dan inline-table
Dengan kata lain, margin
properti tidak berlaku untuk display:table-cell
elemen.
Larutan
Pertimbangkan untuk menggunakan border-spacing
properti sebagai gantinya.
Catatan itu harus diterapkan ke elemen induk dengan display:table
tata letak dan border-collapse:separate
.
Sebagai contoh:
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;}
Margin yang berbeda secara horizontal dan vertikal
Seperti yang disebutkan oleh Diego Quirós, border-spacing
properti ini juga menerima dua nilai untuk menetapkan margin yang berbeda untuk sumbu horizontal dan vertikal.
Sebagai contoh
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */