空隙过大主因是margin/padding过大、默认样式或外边距合并;应先用开发者工具定位来源,再针对性调整margin、改用gap、重置默认样式或用flex/grid布局优化。
两个模块之间空隙太大,通常是因为 margin 或 padding 设置过大,或存在默认样式、外边距合并(margin collapse)等隐性因素。关键不是“删掉间距”,而是**精准识别来源,再针对性调整**。
用浏览器开发者工具(F12)选中两个模块,观察计算后的盒模型:
情况一:模块自身设置了过大的 margin-bott
om / margin-top
.module { margin-bottom: 40px; } → 改为 margin-bottom: 16px; 或直接设为 0
margin-bottom),避免合并不可控情况二:父容器有 padding 或 margin 干扰
padding: 20px 或 margin: 30px,这些会整体推远子模块gap(Flex/Grid 布局中更可控)替代手动 margin情况三:浏览器默认样式(如 body margin、h 标签 margin)
body { margin: 0; }、h1, h2, p { margin: 0; }
* { margin: 0; padding: 0; }),但慎用,避免影响表单等原生体验比起逐个调 margin/padding,用现代布局逻辑更省心:
display: flex 父容器 + gap: 12px 控制子模块间距(gap 不会合并,不干扰 margin)display: grid + row-gap: 16px 同理,语义清晰且响应友好overflow: hidden 或 border: 1px solid transparent 可阻止 margin 合并基本上就这些。空隙大不是 bug,是 CSS 盒模型在“老实干活”。找准源头,删得少、控得准,比盲目清 margin 更可靠。