是否有必要在<table>中添加cellspacing ="0"cellpadding ="0"?

Jit*_*yas 20 html xhtml w3c

Eric meyer重置css表示"表格仍然需要'cellspacing ="0"'在标记中".有必要吗?什么是好处border-collapse: collapse; 和border-spacing: 0;

并且它只建议使用cellspacing,而table有另一个叫做cellpadding的属性?

/* tables still need 'cellspacing="0"' in the markup */
table {
        border-collapse: collapse;
        border-spacing: 0;
}
Run Code Online (Sandbox Code Playgroud)

Nic*_*ole 11

cellpadding不建议使用,因为paddingcss属性足以覆盖cellpaddingtable属性的默认属性.正如另一个答案所说,cellspacing旧版浏览器中没有兼容的CSS属性,将HTML属性作为将此设置完全"重置"为0的唯一方法 border-spacing: 0;.对支持它的浏览器负责.

至于border-collapse- 默认情况下,表格单元格各有自己的边框,并将collapse相邻单元格之间的边框合并在一起,给出(通常是单像素)网格的外观,这在任何其他方式都无法实现cellspacing="0".之前border-collapse得到普遍支持,这就是为什么你会在桌子上看到带有cellspacing="1"背景颜色的表格,以及表格单元格上的白色背景.

border-collapse:collapse;在reset.css中只是因为它是最常见的期望结果.如果你不想要这种模式,你可以从reset.css中删除它.


Dou*_*ner 6

Internet Explorer 6 7,以及可能是其他早期的浏览器,无法识别该border-spacing属性,因此,他建议您仍然在HTML中提供值.

查看SitePoint上的兼容性表