什么是外边距塌陷?满足以下条件就会产生外边距塌陷现象:

  1. 产生在嵌套元素中(父元素与子元素)
  2. 垂直方向上的外边距合并现象(margin-top和margin-bottom)

话不多说,直接上代码进行演示:带你走向人生的的巅峰,哈哈哈

html:

<div class="father">
	<div class="son"></div>
</div>

css:

<style> *{
   
		margin: 0;
		padding: 0;
    }
	.father{
   
	    width:300px;
		height:300px;
		background-color:pink;
	 }
	.son{
   
		width:100px;
		height:100px;
		background-color:skyblue;
	}
</style>

此时浏览器的效果图为:
在这里插入图片描述
那我们想让天蓝色的子元素距离粉色的父元素有一点距离,然后给子元素一个margin-top,代码如下:

<style> *{
   
		margin: 0;
		padding: 0;
	}
	.father{
   
		width:300px;
		height:300px;
		background-color:pink;
	}
	.son{
   
		width:100px;
		height:100px;
		background-color:skyblue;
		margin-top:50px;
	}
</style>

咦~~这个时候我们就会发现这不是我们想要的效果…
给子元素一个上边距,父元素也跟着有了外边距,这就是外边距塌陷,那么我们应该怎么解决这个问题呢?

在这里插入图片描述
解决方案:

1. 给父元素加边框border
2. 给父元素加内边距padding
3. 给父元素加overflow:hidden

<style> *{
   
		margin: 0;
		padding: 0;
	}
	.father {
   
		width: 300px;
		height: 300px;
		background-color: pink;
		/*border: 1px solid pink;*/
		/*padding: 1px;*/
		overflow: hidden;
	}
	
	.son {
   
		width: 100px;
		height: 100px;
		background-color: skyblue;
		margin-top: 50px;
	}
</style>

此三种方式任意一种都可以轻松解决外边距塌陷问题,效果如图下图所示:
也就达到了我们之前想要的效果,是不是美滋滋…赶紧收藏以后备用吧…

在这里插入图片描述