什么是外边距重叠,如何解决外边距重叠
margin的上下间距重叠问题 现象:2个上下并列结构的时候,如果给上面的盒子添加了margin-bottom,同时给下面的盒子添加了margin-top,此时应该解析的垂直间距是2者之和,但是浏览器解析的时候,会按照最大数值去解析。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .box1{ width: 200px; height: 100px; background-color: red; margin-bottom: 100px; } .box2{ width: 300px; height: 200px; background-color: blue; margin-top: 50px; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
解决方法:A、给下面的盒子添加父元素且添加声明overflow:hidden;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .box1{ width: 200px; height: 100px; background-color: red; margin-bottom: 100px; } .box2{ width: 300px; height: 200px; background-color: blue; margin-top: 50px; } /*解决box1和box2的上下间距重叠问题*/ .fuqin{ overflow: hidden; } </style> </head> <body> <div class="box1"></div> <div class="fuqin"> <div class="box2"></div> </div> </body> </html>