嵌套的盒子,直接给子盒子设置垂直方向外边距的时候,会发生外边距塌陷。
解决方法:①给父盒子设置边框;
②给父盒子设置overflow:hidden。推荐使用!
塌陷效果代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.father{
width: 500px;
height: 400px;
background: #232323;
}
.son{
width: 200px;
height: 200px;
background: #eee;
margin-top: 30px;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
</html>
塌陷效果图:
给父盒子设置边框消除塌陷代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.father{
/*边框一个像素,所以讲宽度设置为498px*/
width: 498px;
height: 400px;
background: #232323;
border: 1px solid red;
}
.son{
width: 200px;
height: 200px;
background: #eee;
margin-top: 30px;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
</html>
消除塌陷效果图:
overflow:hidden
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.father{
width:500px;
height:400px;
background: #232323;
overflow: hidden;
}
.son{
width: 200px;
height: 200px;
background: #eee;
margin-top: 30px;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
</html>
效果图: