合并现象
场景:垂直排列的兄弟元素,上下margin会合并
现象:取两个margin的较大值
塌陷问题
场景:父子级标签,子级添加上外边距会产生塌陷问题
现象:导致父级一起向下移动
解决办法:
- 取消子级margin,父级设置padding
- 父级设置overflow:hidden
- 父级设置border-top
- 代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .father{ width: 300px; height: 300px; background-color: pink; /* 解决方法一 */ /* padding-top: 50px; box-sizing: border-box; */ /* 解决方法二:原理是浏览器找到父级盒子的具体边缘*/ /* overflow: hidden; */ /* 方法三:让浏览器找到父级盒子的正确边缘 */ border-top: 50px; } .son{ width: 100px; height: 100px; background-color: skyblue; margin-top: 50px; } </style> </head> <body> <div class="father"> <div class="son">son</div> </div> </body> </html>