Nguyên nhân
Từ tài liệu MDN :
[Thuộc tính lề] áp dụng cho tất cả các thành phần ngoại trừ các thành phần có loại hiển thị bảng khác với chú thích bảng, bảng và bảng nội tuyến
Nói cách khác, margin
tài sản không được áp dụng chodisplay:table-cell
các yếu tố.
Giải pháp
Xem xét sử dụng border-spacing
tài sản thay thế.
Lưu ý rằng nó nên được áp dụng cho một phần tử cha có display:table
bố cục và border-collapse:separate
.
Ví dụ:
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;}
Lề khác nhau theo chiều ngang và chiều dọc
Như Diego Quirós đã đề cập, border-spacing
khách sạn cũng chấp nhận hai giá trị để đặt lề khác nhau cho trục ngang và trục dọc.
Ví dụ
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */