margin-bottom 还是 margin-top

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

我在 Twitter 上发布了一个无上下文投票,只是为了好玩。

大多数 CSS 专家可能都会猜到,隐含的上下文是

为了垂直间隔元素,您通常会选择在顶部元素上使用 margin-bottom,还是在底部元素上使用 margin-top

在约 2000 票中,61% 的人选择了 margin-bottom。我猜它会赢,但没想到会这么接近。网络感觉像是一种向下推动的媒介,我认为将间距应用于第一个元素而不是第二个元素感觉更逻辑/自然。

无论哪种方式,通常都需要从一侧或另一侧移除间距。有点像

.module > *:last-child {
  margin-bottom: 0;
}

/* or */

.module > *:first-child {
  margin-top: 0;
}

但不要对此解读太多。处理结构、间距、选择器等等的方法有无数种。我只是想说:它们平分秋色。一个并不比另一个更好。它们也不需要相互排斥,但请记住 它们是如何折叠的

Greg Whitworth 指出,margin-top 实际上在“一个由 Bing 提供支持的包含 1,070,510 页的页面集合”中略占优势。

数据来自这里

但正如 Estelle Weyl 指出的那样,这主要来自重置这些值的人,而不是积极地将它们用于间距。看看相同数据中非零值的情况会很有趣。