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

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

如何使用CSS实现这一点?


当前回答

CSS:

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

其他回答

对于那些想要非零单元格间距值的人,下面的CSS对我有用,但我只能在Firefox中测试它。

有关兼容性的详细信息,请参阅其他地方发布的Quirksmode链接。它似乎不适用于较旧的Internet Explorer版本。

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

用div包装单元格的内容,你可以做任何你想做的事情,但你必须将每个单元格包装在一列中,以获得统一的效果。例如,要获得更宽的左右边距:

因此CSS将是,

div.cell加宽器{边距:0px 15px 0px 15像素;}时差{填充:0px;}<table border=“0”><tr><td class=“紧”><div class=“cellwider”>我的内容</div></td></tr></table>

是的,这很麻烦。是的,它适用于Internet Explorer。事实上,我只在Internet Explorer上测试过这一点,因为这是我们在工作中允许使用的全部功能。

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

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

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

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

td {
    padding: npx; /* For cellpadding */
    margin: npx; /* For cellspacing */
    border-collapse: collapse; /* For showing borders in a better shape. */
}

如果边距不起作用,请尝试将tr的显示设置为块,然后边距将起作用。

假设我们希望以符合HTML5的方式为表分配10px的“cellpadding”和15px的“cellspacing”。我将在这里展示两种方法,给出非常相似的输出。

两组不同的CSS财产应用于表的相同HTML标记,但概念相反:

第一个使用边界折叠的默认值(单独),并使用边界间距提供单元间距,第二个选项将边界折叠切换为折叠,并使用border属性作为cellspacing。

在这两种情况下,cellpadding都是通过为tds指定padding:10px来实现的,在这两个情况下,为它们指定的背景色只是为了更清晰的演示。

第一种方法:

表{边框间距:15px}td{背景色:#00eb55;填充:10px;边框:0}<表><tr><td>标题1</td><td>标题2</td></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>

第二种方法:

表{边框塌陷:塌陷}td{背景色:#00eb55;填充:10px;边框:15px纯色#fff}<表><tr><td>标题1</td><td>标题2</td></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>