这是否可以通过CSS实现?

我在努力

tr.classname {
  border-spacing: 5em;
}

但没有用。也许我做错了什么?


当前回答

您可以用<div/>元素填充<td/>元素,并对您喜欢的div应用任何边距。对于行之间的可视空间,可以在<tr/>元素上使用重复的背景图像。(这是我今天刚刚使用的解决方案,它似乎在IE6和FireFox 3中都有效,尽管我没有进一步测试它。)

此外,如果您不愿意修改服务器代码以将<div/>s放在<td/>s中,那么可以使用jQuery(或类似的东西)将<td/〕内容动态地包装在<div/〕中,使您能够根据需要应用CSS。

其他回答

.table {
 border-collapse: separate; 
 border-spacing: 0 1rem;
}

这很适合我在表格之间提供垂直边距/间距。参考:https://www.w3docs.com/snippets/css/how-to-create-space-between-rows-in-the-table.html

只需将div放在td中,并设置以下div样式:

margin-bottom: 20px;
height: 40px;
float: left;
width: 100%;
tr { 
    display: block;
    margin-bottom: 5px;
}

您可以用<div/>元素填充<td/>元素,并对您喜欢的div应用任何边距。对于行之间的可视空间,可以在<tr/>元素上使用重复的背景图像。(这是我今天刚刚使用的解决方案,它似乎在IE6和FireFox 3中都有效,尽管我没有进一步测试它。)

此外,如果您不愿意修改服务器代码以将<div/>s放在<td/>s中,那么可以使用jQuery(或类似的东西)将<td/〕内容动态地包装在<div/〕中,使您能够根据需要应用CSS。

回答太晚了:)

如果将float应用于tr元素,则可以使用margin属性在两行之间设置空格。

table tr{
float: left
width: 100%;
}

tr.classname {
margin-bottom:5px;
}