在HTML表格中 cellpadding 和 cellspacing 可以像这样设置:
<table cellspacing="1" cellpadding="1">
如何使用CSS完成同样的工作?
在HTML表格中 cellpadding 和 cellspacing 可以像这样设置:
<table cellspacing="1" cellpadding="1">
如何使用CSS完成同样的工作?
基本
要控制CSS中的“cellpadding”,您可以简单地使用 padding 在桌子上。例如。 10px的“cellpadding”:
td {
padding: 10px;
}
对于“cellspacing”,您可以应用 border-spacing 表格的CSS属性。例如。对于10px的“cellspacing”:
table {
border-spacing: 10px;
border-collapse: separate;
}
这个属性甚至可以允许单独的水平和垂直间距,这是旧学校“cellspacing”无法做到的。
IE中的问题<= 7
这将适用于几乎所有流行的浏览器,除了Internet Explorer通过Internet Explorer 7,你几乎没有运气。我说“差不多”,因为这些浏览器仍然支持 border-collapse property,它合并相邻表格单元格的边框。如果您正在尝试消除cellspacing(即, cellspacing="0") 然后 border-collapse:collapse 应该具有相同的效果:表格单元格之间没有空格。但是,这种支持是错误的,因为它不会覆盖现有的 cellspacing 表元素上的HTML属性。
简而言之:对于非Internet Explorer 5-7浏览器, border-spacing 处理你。对于Internet Explorer,如果您的情况恰到好处(您希望0个cellspacing并且您的表尚未定义它),您可以使用 border-collapse:collapse。
table {
border-spacing: 0;
border-collapse: collapse;
}
注意:有关可以应用于表和哪些浏览器的CSS属性的概述,请参阅此内容 奇妙的Quirksmode页面。
浏览器的默认行为等效于:
table {border-collapse: collapse;}
td {padding: 0px;}

设置单元格内容与单元格墙之间的间距
table {border-collapse: collapse;}
td {padding: 6px;}

控制表格单元格之间的空间
table {border-spacing: 2px;}
td {padding: 0px;}

table {border-spacing: 2px;}
td {padding: 6px;}

table {border-spacing: 8px 2px;}
td {padding: 6px;}

注意: 如果有
border-spacing设置,它表明border-collapse表的属性是separate。
这里 你可以找到实现这个的旧的HTML方式。
table
{
border-collapse: collapse; /* 'cellspacing' equivalent */
}
table td, table th
{
padding: 0; /* 'cellpadding' equivalent */
}
据我所知,设置表格单元格的边距并没有任何影响。真正的CSS等价物 cellspacing 是 border-spacing - 但它在Internet Explorer中不起作用。
您可以使用 border-collapse: collapse 如上所述可靠地将单元格间距设置为0,但对于任何其他值,我认为唯一的跨浏览器方式是继续使用 cellspacing 属性。
此hack适用于Internet Explorer 6及更高版本, 谷歌浏览器,Firefox和 歌剧:
table {
border-collapse: separate;
border-spacing: 10px; /* cellspacing */
*border-collapse: expression('separate', cellSpacing = '10px');
}
table td, table th {
padding: 10px; /* cellpadding */
}
该 * 声明适用于Internet Explorer 6和7,其他浏览器将正确忽略它。
expression('separate', cellSpacing = '10px') 回报 'separate',但是这两个语句都在运行,因为在JavaScript中你可以传递比预期更多的参数,并且所有参数都将被评估。
对于那些想要非零单元间距值的人来说,下面的CSS对我有用,但我只能在Firefox中测试它。见 怪异模式 链接 发布在别处 兼容性细节。似乎它可能不适用于较旧的Internet Explorer版本。
table {
border-collapse: separate;
border-spacing: 2px;
}
这个问题的简单解决方案是:
table
{
border: 1px solid #000000;
border-collapse: collapse;
border-spacing: 0px;
}
table td
{
padding: 8px 8px;
}