html - 在 CSS 中设置 cellpadding 和 cellspacing?

在 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 .

https://stackoverflow.com/questions/339923/

相关文章:

javascript - 如何在 HTML5 localStorage/sessionStorage

javascript - 我如何知道通过 jQuery 选择了哪个单选按钮?

html - 如何使 div 不大于其内容?

html - 如何使用 CSS 垂直居中文本?

html - 如何使用 CSS 为文本或图像赋予透明背景?

html - 如何禁用 textarea 的 resizable 属性?

javascript - 如何在不重新加载页面的情况下修改 URL?

html - 如何在 Web 表单字段/输入标签上禁用浏览器自动完成功能?

html - 如何使浏览器窗口的 div 高度为 100%?

javascript - 如何使用 JavaScript 更改元素的类?