深入CSSmargincollapse(边距折叠)详解
时间:2023-03-31 01:56:16
CSS
什么是margincollapse准确的说,margincollapse应该叫verticalmargincollapse,因为它只发生在垂直方向,而不会发生在水平方向。下面简单的html代码和css代码,topblock和bottomblock之间的垂直间距是多少px?
.block{width:100px;高度:100px;background-color:lightgray;}.top{margin-bottom:20px;}.bottom{margin-top:30px;}如果不理解margincollapsing,那么你会想:spacing=margin-bottomoftopblock+margin-topofbottomblock =20px+30px=50px但实际情况是:这是(垂直)边距折叠。折叠外边距的定义:块的顶部和底部边距有时会合并(折叠)成单个边距,其大小是单个边距中最大的(或者只是其中一个,如果它们相等),这种行为称为边距崩溃。请注意,浮动元素和绝对定位元素的边距永远不会折叠。翻译过来就是:块级元素的上边距和下边距在某些情况下会合并(折叠),合并后的尺寸会是一个更大的边距。请注意,浮动元素和绝对定位元素的边距永远不会折叠。发生margincollapse的条件是什么1.(垂直方向)两个相邻的元素这种情况很好理解,就是上面例子给出的情况。这里要注意一点,所谓相邻是指渲染后元素相邻的位置,而不是相邻的dom结构,也就是说如果代码: