<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>margin 塌陷问题</title>
<style type="text/css">
.outer{
width: 500px;
height: 500px;
background: red;
/*1 在父元素添加 overflow: hidden; 在子元素直接用 margin-top margin-top有向上传递性 所以会有塌陷*/
overflow: hidden;
/*2 在父元素添加边框 这样会产生 1px 的误差 影响布局 用得少*/
border: 1px solid red;
}
.inner{
width: 100px;
height: 100px;
background: blue;
塌陷问题 解决办法
/*3 直接在 子元素写 padding-top*/
margin-top: 100px;
}
/*垂直方向上的margin塌陷
父元素直接嵌套子元素,让子元素距离父元素垂直方向一段距离, 会出现margin塌陷 ,连同父元素一起下移
解决办法
1 在父元素上设置一个border 但是记得调整子元素的margin值
2 在父元素直接设置padding-top即可 , 不需再在子元素设置margin-top
同级元素垂直方向是 margin 取最大值 而不是相加
解决办法: 设置其中一个margin 值就行 没必要设置两个
行内元素垂直方向上 margin值无效
解决 在相邻块级元素上设置或添加一个块级父元素*/
</style>
</head>
<body>
<div class="outer">
<div class="inner">
</div>
</div>
</body>
</html>