- A+
所属分类:Web前端
在HTML表格中,cellpadding
andcellspacing
可以这样设置:
<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 7的Internet Explorer,几乎在所有流行的浏览器中都可以使用,您几乎不走运。我之所以说“几乎”是因为这些浏览器仍然支持该border-collapse
属性,该属性合并了相邻表格单元的边界。如果你想消除CELLSPACING(也就是cellspacing="0"
),那么border-collapse:collapse
应该有同样的效果:表格单元格之间没有空格。但是,此支持存在很多问题,因为它不会覆盖cellspacing
table元素上的现有HTML属性。
简而言之:对于非Internet Explorer 5-7浏览器,border-spacing
您一定会满意。对于Internet Explorer,如果您的情况恰到好处(您想要0个单元格间距并且您的表尚未定义),则可以使用border-collapse:collapse
。
table { border-spacing: 0; border-collapse: collapse; }
本文首发于前端黑洞网,博客园同步跟新