码迷,mamicode.com
首页 > 其他好文 > 详细

解决margin重叠

时间:2020-07-28 00:01:01      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:loading   一个   gre   line   rap   sof   height   inner   tle   

在BFC布局规则中提到内部Box垂直方向距离由margin决定,属于同一个BFC的两个相邻Box的margin会发生重叠。

总结出margin重叠三个条件

1、属于同一个BFC

2、相邻的Box

3、块级元素

常见margin重叠的两种方式:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>解决margin重叠</title>
        <style>
            *{
                margin:0;
                padding: 0;
            }
            .up,.down{
                width:200px;
                height: 200px;
                background: pink;
                margin:50px;
            }
        </style>
    </head>
    <body>
        <div class="up"></div>
        <div class="down"></div>
    </body>
</html>

效果图:

技术图片

解决方法:在外层包一层div解决margin重叠,overflow:hidden开启新的BFC,使其不属于同一个BFC。

<body>
        <div class="up"></div>
        <div style="overflow: hidden;">
        <div class="down"></div>
        </div>
    </body>

第二种常见方式:

 

技术图片

 

子父margin两种解决方法:

1、overflow:hidden开启新的BFC
2、在外边描一个1px的框,隔开不在同一个BFC

<style>
            *{
                margin:0;
                padding:0;
            }
            .wrap{
                width:300px;
                height: 300px;
                background: pink;
                /*overflow: hidden;*/
                border:1px solid black;
            }
            .inner{
                width:150px;
                height: 150px;
                background: green;
                margin:50px auto;
                
            }
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="inner">    
            </div>
        </div>

效果如下:

技术图片

 

解决margin重叠

标签:loading   一个   gre   line   rap   sof   height   inner   tle   

原文地址:https://www.cnblogs.com/LiuQyu/p/13386950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!