【问题标题】:Remove All Padding/Borders/Margin删除所有填充/边框/边距
【发布时间】:2016-05-02 04:57:30
【问题描述】:

首先,我知道我们对此有一千个问题,但我确实相信我经历了几乎所有相关的事情并尝试过。简而言之,我有一个带有正文的简单 html 页面,其中包含一个表格,其中包含 2 行,每行有两个单元格。我删除了所有填充、边距和边框,但在设置宽度/高度时考虑了边框直径。目标是为某物打印一个 4x3" 的标签,这就是设置的主体尺寸(以 mm 为单位)。

tl;dr:为什么我还有填充?

* {
    margin: 0;
    padding: 0;
}

.noMarginBordersPadding{
    padding: 0px;
    border: 0px;
    margin: 0px;
}

http://codepen.io/anon/pen/EPEKba

附:如果你点击打印,底部,边框下方还有神秘的空白,但我不想太淡化这个问题。

【问题讨论】:

  • 旁注,当值为0(即padding: 0; margin: 0; border: none;)时可以省略单位...
  • 对此很熟悉,但对于以后阅读它的人来说,这是一件好事。边框折叠解决方案后右侧似乎仍有空白,但我认为这是由于我将宽度设置得不好。不过,我希望我能理解当边界已经为零时折叠边界的真正作用。

标签: html css


【解决方案1】:

您还需要为表格设置border-collapse property。默认值为separate

table {
  border-collapse: collapse;
}

【讨论】:

  • 做到了,倒计时结束时接受,谢谢。你知道为什么吗?我在表格、表格单元格和表格行上设置了零边框。为什么这有帮助?
  • 因为默认情况下浏览器将该属性的值设置为分隔,从而为您的表格提供额外的间距。
  • 我明白 - 我以前使用过border-collapse。例如。没有它,两个相邻的表格单元格的边框设置为 1px 和 1px,它们之间将有一个累积的 2px 边框。而对于折叠,它将是 1px。但是,0+0=0。你确实回答了我的问题,这只是锦上添花。