问:

在 HTML 表格中,cellpadding 和 cellspacing 可以这样设置:

如何使用 CSS 实现相同的功能?

答1:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

基本

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

td {

padding: 10px;

}

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

table {

border-spacing: 10px;

border-collapse: separate;

}

此属性甚至允许单独的水平和垂直间距,这是老式的“单元格间距”无法做到的。

IE 中的问题 ≤ 7

这将适用于几乎所有流行的浏览器,除了 Internet Explorer 到 Internet Explorer 7,你几乎不走运。我说“几乎”是因为这些浏览器仍然支持 border-collapse 属性,它合并相邻表格单元格的边框。如果您试图消除单元格间距(即 cellspacing=“0”),那么 border-collapse:collapse 应该具有相同的效果:表格单元格之间没有空格。但是,这种支持是有问题的,因为它不会覆盖 table 元素上现有的 cellspacing HTML 属性。

简而言之:对于非 Internet Explorer 5-7 浏览器,border-spacing 会处理您。对于 Internet Explorer,如果您的情况恰到好处(您想要 0 个单元格间距并且您的表格尚未定义它),您可以使用 border-collapse:collapse。

table {

border-spacing: 0;

border-collapse: collapse;

}

注意:有关可应用于表格以及适用于哪些浏览器的 CSS 属性的详细概述,请参阅此fantastic Quirksmode page。

cellpadding="0" 仍然可以在 Chrome 13.0.782.215 中产生影响,即使在表格中应用了border-collapse:collapse 和border-spacing。

@LeeWhitney 您需要在表格单元格上设置 padding: 0 。

这有点离题了,但是在 HTML5 中删除了 cellpadding 和 cellspacing 属性,所以 CSS 是现在唯一的方法。

大家好。为了清楚起见,我更新了答案,包括关于单元格填充的部分,我认为这很明显(只需使用“填充”)。希望它现在更有用。

没错,@vapcguy,在任何无限变化的其他情况下,您可能会在其中设置表格样式,您将需要定义更具体的选择器。以上标记为示例。

答2:

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

默认

浏览器的默认行为等价于:

table {border-collapse: collapse;}

td {padding: 0px;}

https://i.stack.imgur.com/cukle.png

单元格填充

设置单元格内容和单元格壁之间的空间量

table {border-collapse: collapse;}

td {padding: 6px;}

https://i.stack.imgur.com/c0ght.png

单元格间距

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

table {border-spacing: 2px;}

td {padding: 0px;}

https://i.stack.imgur.com/WNuBP.png

两个都

table {border-spacing: 2px;}

td {padding: 6px;}

https://i.stack.imgur.com/eyZQl.png

两者(特殊)

table {border-spacing: 8px 2px;}

td {padding: 6px;}

https://i.stack.imgur.com/gbJ3T.png

注意:如果设置了border-spacing,则表示表格的border-collapse 属性是独立的。

Try it yourself!Here 您可以找到实现此目的的旧 HTML 方法。

桌子周围的间距如何消失?当我设置“边框间距:8px 12px 时,它不仅在表格边框和外部单元格之间添加间距,而且在表格边框和外部单元格之间添加间距!但是这里的图像中没有描述;它们是齐平的。

@2astalavista 不幸的是,如果有人想要删除外部间距的效果,那么这些 CSS 属性将无法以这种方式工作。

@Kaz您可能需要使用负边距来隐藏那个烦人的部分。

TD 上的默认填充通常是 1px,而不是 0

注意:border-spacing:horizontal vertical; 而例如 padding:vertical horizontal;。

答3:

huntsbot.com – 高效赚钱,自由工作

table

{

border-collapse: collapse; /* 'cellspacing' equivalent */

}

table td, table th

{

padding: 0; /* 'cellpadding' equivalent */

}

这相当于 cellspacing=0。 cellspacing=1 的等价物完全不同。请参阅已接受的答案。

答4:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

据我所知,在表格单元格上设置边距并没有任何影响。 cellspacing 的真正 CSS 等效项是 border-spacing - 但它在 Internet Explorer 中不起作用。

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

在当今时代,现实已经被吸到了 N 级。

这几乎是正确的,但如果表还没有定义 cellspacing 属性,border-collapse 仅适用于 IE 5-7。我已经写了一个全面的答案,它合并了此页面上其他答案的所有正确部分,以防万一。

答5:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

此 hack 适用于 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 中,您可以传递比预期更多的参数,并且所有参数都将被计算。

答6:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

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

有关兼容性的详细信息,请参阅 Quirksmode 链接 posted elsewhere。似乎它可能不适用于较旧的 Internet Explorer 版本。

table {

border-collapse: separate;

border-spacing: 2px;

}

答7:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

这个问题的简单解决方案是:

table

{

border: 1px solid #000000;

border-collapse: collapse;

border-spacing: 0px;

}

table td

{

padding: 8px 8px;

}

答8:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

此外,如果您需要 cellspacing=“0”,请不要忘记在 table 的样式表中添加 border-collapse: collapse。

答9:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

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

所以CSS将是,

div.cellwidener { 边距:0px 15px 0px 15px; } td.tight { 填充:0px; }

我的内容

是的,这很麻烦。是的,它适用于 Internet Explorer。事实上,我只用 Internet Explorer 对此进行了测试,因为这是我们在工作中被允许使用的全部内容。

答10:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

此样式用于完全重置表格 - 单元格填充、单元格间距和边框。

我的 reset.css 文件中有这种风格:

table{

border:0; /* Replace border */

border-spacing: 0px; /* Replace cellspacing */

border-collapse: collapse; /* Patch for Internet Explorer 6 and Internet Explorer 7 */

}

table td{

padding: 0px; /* Replace cellpadding */

}

答11:

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

待定。对于所有喜欢使用 CSS 的人,您不妨使用 cellpadding=“0” cellspacing=“0”,因为它们并未被弃用…

其他任何人在 上建议边距显然都没有尝试过。

它们实际上在 html5 中已被弃用。

原文链接:https://www.huntsbot.com/qa/vebd/set-cellpadding-and-cellspacing-in-css?lang=zh_CN&from=csdn

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: