zoukankan      html  css  js  c++  java
  • 外边距塌陷如何解决?

    问题:子盒子设置上外边距,父盒子会随着子盒子塌陷,嵌套块元素垂直外边距合并

    <style>
            *{
                padding: 0;
                margin: 0;
            }
            .father {
                height: 500px;
                 500px;
                background: rgb(184, 184, 167);
            }
            .son {
                 200px;
                height: 200px;
                background: rgb(199, 20, 20);
                margin-top: 100px;
            }
    </style>
    
    
    <body>
    <div class="father">
    <div class="son">子盒子设置上外边距,父盒子会随着子盒子塌陷,嵌套块元素垂直外边距合并</div>
    </div>
    </body>
    
    
    如下图所示,是希望出现的效果,然而实际情况是父盒子会随着子盒子一起下来

    三个解决办法:

     /* 解决办法 1:为父盒子设置1像素的上边框,颜色一样,但是会撑大父盒子,所以父盒子高度减1*/
            .father {
                border-top: 1px solid rgb(184, 184, 167);
                height: 499px;
            }
    /* 解决方法 2:为子盒子设置1像素的上内边距,也会撑大子盒子,所以子盒子高度减1 */
            .son {
                padding-top: 1px;
                height: 199px;
            }
    /* 解决方法 3:父盒子设置overflow:hidden ,触发bfc ,不会撑大盒子*/
            .father {
                overflow: hidden;
            }
  • 相关阅读:
    vue基础04计算属性
    vue基础01条件渲染
    vue基础14vuex
    其他03动态拼接地址,使用本地的图片不显示
    其他05vue中ref
    HTML基础02CSS
    其他12es6...运算符
    其他11依赖注入
    其他07插槽
    其他06js类型判断
  • 原文地址:https://www.cnblogs.com/EricZLin/p/8687582.html
Copyright © 2011-2022 走看看