在HTML表格中,单元格填充和单元格间距可以这样设置:

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

如何使用CSS实现这一点?


当前回答

只需对表数据使用CSS填充规则:

td { 
    padding: 20px;
}

对于边框间距:

table { 
    border-spacing: 1px;
    border-collapse: collapse;
}

然而,由于box模型的diff实现,它可能会在旧版本的浏览器(如Internet Explorer)中产生问题。

其他回答

CSS:

selector{
    padding:0 0 10px 0; // Top left bottom right 
}

据我所知,在表格单元格上设置边距实际上没有任何效果。单元格间距的真正CSS等价物是边框间距,但它在Internet Explorer中不起作用。

您可以使用border-collapse:collapse将单元格间距可靠地设置为0,如前所述,但对于任何其他值,我认为唯一的跨浏览器方法是继续使用cellspacing属性。

此黑客适用于Internet Explorer 6及更高版本、Google Chrome、Firefox和Opera:

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中,您可以传递比预期更多的参数,所有参数都将被求值。

根据我从W3C分类中了解到的,<table>是用于“仅”显示数据的。

基于此,我发现创建一个带有背景和所有背景的<div>并使用position:absolute创建一个数据浮动在上面的表要容易得多;背景:透明;。。。

它适用于Chrome、Internet Explorer(6及更高版本)和Mozilla Firefox(2及更高)。

边距用于(或意味着)在容器元素之间创建分隔符,如<table>、<div>和<form>,而不是<tr>、<td>、<span>或<input>。将其用于容器元素以外的任何其他内容都会使您忙于调整网站以适应未来的浏览器更新。

违约

浏览器的默认行为相当于:

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

         

单元格填充

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

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

        

单元格间距

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

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

        

Both

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

        

两者(特殊)

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

        

注意:如果设置了边框间距,则表示表的边框折叠属性是单独的。

自己试试吧!

在这里,您可以找到实现这一点的旧HTML方法。