【问题标题】:How do I add margin between divs that are set to display table-cell?如何在设置为显示表格单元格的 div 之间添加边距?
【发布时间】:2012-12-23 00:34:23
【问题描述】:

我设置了一个父 div 来显示:table 和它各自的三个子 div 来显示:inline-cell。这三个子 div 是水平堆叠的,我在三个子 div 上设置了三个像素的边框。我将如何在子 div 之间添加边距,以便将空间放在边框的外侧而不是内侧?

【问题讨论】:

标签: html css


【解决方案1】:

您的 css 无效:“display: inline-cell”不是有效的 css 声明。您将需要改用“显示:表格单元格”。如果您希望它们彼此堆叠,也可以这样做,您需要将每个“表格单元格”包装成一个“表格行”。

HTML

<div class="table">
    <div class="tableRow">
      <div class="tableCell">Cell 1</div>
    </div>
    <div class="tableRow">
      <div class="tableCell">Cell 2</div>
    </div>
    <div class="tableRow">
      <div class="tableCell">Cell 3</div>
    </div> 
</div>

CSS

.table{
border: 2px solid #999;
display: table;
border-spacing: 15px;
}
.tableRow{
    display: table-row;
}
.tableCell{
    border: 3px solid #333;
    border-collapse: separate;
    display: table-cell;
    border-collapse: separate;    
}

【讨论】:

  • 是的!这就是我所追求的!有没有办法只将边框间距应用于单元格 2 的左侧和右侧?我正在水平堆叠 div,并且只希望中间 div(单元格 2)具有左/右单元格间距。
  • 我不相信这是可能的,抱歉。表格对齐和定位在 CSS 中有些限制。