You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何给.card加padding后.title上方出现大间隙?需设margin-top:0?

问题解答
  • 核心原因就是外边距折叠(Margin Collapse),而且确实和h1的默认margin有关。
  • 浏览器给h1这类标题标签自带了默认的上下外边距(比如margin-top一般是1em左右),这是浏览器默认样式的一部分。
  • 没给.card加padding时,父元素(.card)没有padding、border、overflow这些“阻隔”属性,子元素h1的margin-top会和父元素的margin发生折叠——简单说就是h1的上边距会“跑到”父元素外面去,不会在父元素内部形成空白,所以你看起来布局正常。
  • 当给.card加上8px padding后,父元素有了内边距,直接打破了外边距折叠的条件,这时候h1的默认margin-top就会在父元素的padding内部生效,相当于在.card的上padding和h1之间多了一块h1默认上边距的空白,所以你就看到了额外的大空白。
  • 给h1设置margin-top:0,就是把它自带的上边距去掉,自然就消除了这块空白。

内容的提问来源于stack exchange,提问作者psaunby31

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:10:25