div默认外边距是多少_初入前端开发遇到的外边距塌陷问题解决方案

我们需要知道什么时候会出现外边距塌陷这样的问题:

1.垂直方向,不是水平方向,也就是说margin-topmargin-bottom才存在这样的问题。

2.块级元素,不是行内元素,也不是行内块级元素。也就是说只能是display:block才存在这样的问题。

首先我们来看两个栗子:

栗子一:兄弟之间外边距塌陷

<style>
    #bro1{
        width:500px;
        height:100px;
        background:#f000f0;
    }
    #bro2{
        width: 500px;
        height:100px;
        background:#0000ff;
    }
</style>
<body>
    <div id="bro1"></div>
    <div id="bro2"></div>
</body>

560ad7426e86d7704977882f2d566b12.png

此时我们在bro1上加底部外边距bro2上加顶部外边距

.bro1{
    margin-bottom:50px;
}
.bro2{
    margin-top:50px;
}

按道理说,bro1bro2之间的距离应该是100px,如下图的情况:

49868cb3350f3dc613a9b0004043dcac.png

但是结果是bro1bro2之间的距离是只有50px,并没有出现叠加的情况,而是重叠。这就是外边距塌陷的结果。

f8a98dd7dc1997ec1bbd70c23080044e.png

我们的解决办法是:

/*增加左浮动 或 转换为行内块*/
 /*float: left; !* 1.设置左浮动 解决外边距margin 合并问题呢*! */
    /*display: inline-block; !*2.转换为行内块 解决外边距margin 合并问题*!*/

栗子二:父子元素之间的外边距margin合并问题(外边距塌陷)

<style>
    #father{
        width: 200px;
        height: 200px;
        background: #f000f0;
    }
    #child{
        width: 100px;
        height: 100px;
        background: #0000ff;
    }
</style>
<body>
    <div id="father">
        <div id="child"></div>
    </div>
</body>

8578e7cc756a01abb46915f8ad9698b3.png

此时我们在child上加上顶部外边距

#child{
    margin-top: 20px;
}

并没有出现我们正常思维想象的下图这种情况

82513b8d4aa62b60c04c4769bd7c433d.png

而是实际上是下面这样的,child的外边容器和child整体都下移了20px,这就是外边距塌陷的结果。

017354585772f4487014f15844c4a697.png

我们的解决办法是:

父元素添加代码段:
            /*border: 1px solid transparent; !*方法1*!*/
            /*float: left; !*方法2*!*/
            /*position: absolute; !*方法3*!*/
            /*padding: 1px; !*方法4*!*/
            /*display: inline-block; !*方法5*!*/
            /*overflow: hidden; !*方法6*!*/
            /*overflow: auto; !*方法7*!*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值