在CSS中设置cellpadding和cellspacing?

在一个HTML表中,cellpaddingcellspacing可以设置是这样的:

<table cellspacing="1" cellpadding="1">

如何使用CSS完成同样的工作?


基本

为了控制CSS中的“cellpadding”,您可以简单地使用padding表格单元格。例如10px的“cellpadding”:

td { 
    padding: 10px;
}

对于“cellspacing”,您可以将border-spacingCSS属性应用于表。例如10px的“cellspacing”:

table { 
    border-spacing: 10px;
    border-collapse: separate;
}

这个属性甚至可以允许单独的水平和垂直间距,这是旧学校“cellspacing”无法做到的。

IE中的问题<= 7

这将适用于几乎所有流行的浏览器,除了Internet Explorer通过Internet Explorer 7,你几乎没有运气。我说“差不多”因为这些浏览器仍支持该border-collapse属性,该属性合并相邻表格单元格的边框。如果你试图消除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;}

CELLPADDING

设置单元格内容与单元格墙之间的间距

table {border-collapse: collapse;}
td    {padding: 6px;}



CELLSPACING

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

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



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



两者(特别)

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



注意:如果有border-spacingset,则表示border-collapse表的属性为separate

亲自尝试一下!

在这里你可以找到实现这一目标的旧html方式。

添加评论

友情链接:蝴蝶教程