причина
Из документации MDN :
[Свойство margin] применяется ко всем элементам, кроме элементов с типами отображения таблицы, кроме table-caption, table и inline-table
Другими словами, margin
свойство не применимо к display:table-cell
элементам.
Решение
Попробуйте border-spacing
вместо этого использовать свойство.
Обратите внимание, что он должен применяться к родительскому элементу с display:table
макетом и border-collapse:separate
.
Например:
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;}
Различный запас по горизонтали и вертикали
Как упомянул Диего Кирос, border-spacing
свойство также принимает два значения, чтобы установить различное поле для горизонтальной и вертикальной осей.
Например
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */