html - 在 CSS 中设置 cellpadding 和 cellspacing?

标签 html css html-table alignment

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

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

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

最佳答案

基础知识

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

td { 
    padding: 10px;
}

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

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 .

关于html - 在 CSS 中设置 cellpadding 和 cellspacing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339923/

相关文章:

javascript - 使用 jQuery 更改元素 ID 对我的函数不起作用

html - 我需要 2 个并排的盒子,它们之间没有空格,通过 HTML 和 CSS

css - UI Bootstrap Popover 中隐藏表单内的图标导致其他图标被垂直向下推

javascript - 可滚动的主体问题

javascript - 选择文件后进行中

jquery - 如何同时为多个元素制作动画?

html - 垂直增长元素,同时定位到其他元素的右侧

javascript - Bootstrap-Switch 与 Uniform js 的相互干扰

html - 在 HTML 页面上并排显示两个图像

html - Firefox 和 IE 中的表格边框与 Chrome 中的不同