我有一系列像这样的元素:
<h1>...</h1>
<p>.......</p>
<h1>...</h1>
<p>.......</p>
<!-- etc. -->
我在h1
上设置了5像素的顶部边距,在p
上设置了10像素的底部边距。但是最终的边距只有10像素。如果我将底部边距增加到50像素,将顶部边距增加到40像素,则总边距仍然是50像素。
总边距始终取决于最大的边距。为什么?如何解决这个问题?
相邻元素之间的外边距会折叠。简单地说,这意味着在正常文档流中,对于相邻的垂直块级元素,只有具有最大外边距值的元素的外边距将被保留显示,而具有较小外边距值的元素的外边距将被折叠为零。
http://reference.sitepoint.com/css/collapsingmargins
针对此问题,没有一种解决方案适用于所有情况 - 你可以尝试使用padding
代替外边距,或者通过考虑此问题增加外边距来解决。
display: block
吗? - Pekkah1
和p
上删除默认的边距和填充。 - Rory O'Kane