这是代码:
<html>
<head>
<title></title>
<style type="text/css">
* {border: 0px; padding: 0px;}
#greenbox
{
margin: 20px;
border: 5px solid green;
}
#redbox
{
margin: 20px;
border: 5px solid red;
}
#bluebox
{
border: 5px solid blue;
margin-left: 20px;
margin-right: 20px;
margin-bottom: 20px;
margin-top: 20px; /*COLLAPSES - why??*/
}
</style>
</head>
<body>
<div id="greenbox">
<div id="redbox">
red box
</div>
<div id="bluebox">
bluebox
</div>
</div>
</body>
</html>
基本上,它是一个绿色的盒子,里面有一个红色的盒子和一个蓝色的盒子。
为什么红框和蓝框的垂直间距不是40px?
我知道红色框的下边距和蓝色框的上边距已“折叠”,但我的理解是,如果您有边框或填充,边距不会折叠(我都试过了 - 仍然同样的结果。