P粉1410350892023-08-24 21:55:31
尝试在内部div
上使用display: inline-block;
。就像这样:
#outer { width:500px; height:200px; background:#FFCCCC; margin:50px auto 0 auto; display:block; } #inner { background:#FFCC33; margin:50px 50px 50px 50px; padding:10px; display:inline-block; }
P粉1704382852023-08-24 21:55:02
您实际上看到的是 #inner
元素的上边距 折叠到#outer
元素的上边缘,仅保留#outer
边距完好无损(尽管图像中未显示) 。两个盒子的顶部边缘彼此齐平,因为它们的边距相等。
以下是 W3C 规范中的相关要点:
您可以执行以下任一操作来防止边距折叠:
上述选项防止边距折叠的原因是:
左右边距的表现符合您的预期,因为: