控制表格单元格之间的间距

Jon*_*ood 55 html css css-tables

我正在尝试创建一个表格,其中每个单元格都有背景颜色,它们之间有空白区域.但我似乎很难做到这一点.

我尝试设置td边距但似乎没有效果.

table.myclass td {
    background-color: lime;
    margin: 12px 12px 12px 12px;
}?
Run Code Online (Sandbox Code Playgroud)

如果我用填充做同样的事情,它可以工作,但是我没有单元格之间的间距.

有人可以帮我吗?

jsFiddle:http://jsfiddle.net/BfBSM/

Que*_*tin 80

使用元素border-spacing上的属性table设置单元格之间的间距.

确保border-collapse设置为separate(或者每个单元格之间将有一个单独的边框,而不是每个单元格周围可以有间距的单独边框).


Bug*_*ill 20

检查这个小提琴.您将需要查看使用边框折叠和边框间距.IE有一些怪癖(像往常一样).这是基于一个答案这个问题.

HTML:

<table class="test">
    <tr>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
    </tr>
    <tr>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
    </tr>
    <tr>
        <td>Cell</td>
        <td>Cell</td>
        <td>Cell</td>
    </tr>
</table>?
Run Code Online (Sandbox Code Playgroud)

CSS:

table.test td {
    background-color: lime;
    margin: 12px 12px 12px 12px;
    padding: 12px 12px 12px 12px;
}
table.test {
    border-collapse: separate;
    border-spacing: 10px;
    *border-collapse: expression('separate', cellSpacing = '10px');
}
Run Code Online (Sandbox Code Playgroud)

  • 无效的CSS属性名称(因此仅由损坏的解析器解析),然后是嵌入式JavaScript,以便在古老版本的Internet Explorer中将(过时的)cellspacing属性设置为无效值(应该是10而不是10px).在死浏览器中进行外观修改是不值得的. (2认同)