加入收藏 | 设为首页 | 会员中心 | 我要投稿 青岛站长网 (https://www.0532zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

CSS边距重叠有什么处理方法?

发布时间:2022-01-20 15:50:33 所属栏目:语言 来源:互联网
导读:这篇文章给大家分享的是有关CSS边距重叠问题,在使用CSS排版布局时,会发现兄弟或者父子节点设置的上下外边距会发生重叠现象,那么这个重叠的问题要如何解呢?下面我们一起来了解看看。 style .out { width: 100%; background-color: pink; } .outdiv { heig
        这篇文章给大家分享的是有关CSS边距重叠问题,在使用CSS排版布局时,会发现兄弟或者父子节点设置的上下外边距会发生重叠现象,那么这个重叠的问题要如何解呢?下面我们一起来了解看看。
 
    <style>
        .out {
            width: 100%;
            background-color: pink;
        }
 
        .out>div {
            height: 100px;
            width: 100%;
            background-color: rgb(223, 136, 23);
            margin: 5px 0 10px;
        }
    </style>
    <section class="out">
        <div>11</div>
        <div>22</div>
        <div>33</div>
    </section>
 
 
    当我们查看整个section的高度时,其实本应该是345px的,由于父子和兄弟的外边距的重叠,会发现高度为320px。那么如何在实际应用中解决这个问题呢?
    创建BFC(全程块级格式化上下文)可以解决这个问题,首先明确下BFC的原理
 
    BFC内的元素与外界元素之间互不影响,是一个相对独立的封闭区域;
    相邻的BFC之间不会发生垂直边距的重叠,也就是说,想要元素外边距不重叠,就要创建一个BFC区域;
    BFC区域不会与浮动元素的box重叠;
    BFC在计算高度时,浮动元素也会被算在内;
    如何创建BFC?
    1.设置overflow属性不为visible;
    2.float不为none;
    3.position的值不为static或者是relative;
    4.display属性为table时;
 
    <style>
        .out {
            width: 100%;
            background-color: pink;
            overflow: hidden;
        }
 
        .out>div {
            height: 100px;
            width: 100%;
            background-color: rgb(223, 136, 23);
            margin: 5px 0 10px;
            /* overflow: hidden; */
            float: left;
        }
    </style>
    <section class="out">
        <div>11</div>
        <div>22</div>
        <div>33</div>
    </section>
 

(编辑:青岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读