在CSS中设置cellpadding和cellspacing?

在HTML表格中, cellpaddingcellspacing可以像这样设置:

<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;
}

这个属性甚至会允许单独的水平和垂直间距,这是老派“细胞间距”无法做到的。

IE中的问题<= 7

这几乎可以在几乎所有流行的浏览器中使用,除了IE浏览器以外,通过Internet Explorer 7,几乎没有运气。 我说“几乎”,因为这些浏览器仍然支持border-collapse属性,该属性合并了相邻表格单元格的边界。 如果你试图消除细胞间距(即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-spacing ,则表示表格的border-collapse属性是separate

自己试试!

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


table
{
    border-collapse: collapse; /* 'cellspacing' equivalent */
}

table td, table th
{
    padding: 0; /* 'cellpadding' equivalent */
}
链接地址: http://www.djcxy.com/p/337.html

上一篇: Set cellpadding and cellspacing in CSS?

下一篇: How do I UPDATE from a SELECT in SQL Server?