Answers:
从MDN文档中:
[margin属性]适用于除表标题,表和内联表以外的其他表显示类型的元素以外的所有元素
换句话说,该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;}
水平和垂直的边距不同
正如迭戈·基洛斯(DiegoQuirós)所述,该border-spacing
属性还接受两个值来为水平轴和垂直轴设置不同的边距。
例如
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */
padding
可以为任何必要的选择器(例如,类或ID)设置@Nathan 。如果margin
在单元格之间表示,则可以通过将两个值设置为来分别为垂直轴和水平轴设置该值border-spacing
,但是它将应用于整个表格,而不是单个单元格。
您可以使用内部div设置边距。
<div style="display: table-cell;">
<div style="margin:5px;background-color: red;">1</div>
</div>
<div style="display: table-cell; ">
<div style="margin:5px;background-color: green;">1</div>
</div>
.inner-div { margin-right: 5px; } .outer-cell:last-child .inner-div { margin-right: 0; }
。但也请注意此陷阱:此示例的红色和绿色背景的高度不一定匹配,因为它们不在单元格上。
如果您有div这样彼此相邻
<div id="1" style="float:left; margin-right:5px">
</div>
<div id="2" style="float:left">
</div>
这应该工作!