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

CSS中出现外边距塌陷的情况有哪些?如何处理?

发布时间:2022-01-20 16:05:58 所属栏目:语言 来源:互联网
导读:这篇文章主要给大家分享CSS外边距塌陷及解决方法的内容,我们要解决外边距塌陷的问题,首先需要了解CSS中出现外边距塌陷情况是什么,下面给大家介绍一下三种情况。 1.当上下相邻的两个块级元素相遇,上面的元素有下边距margin-bottom,下面的元素有上边距mar
      这篇文章主要给大家分享CSS外边距塌陷及解决方法的内容,我们要解决外边距塌陷的问题,首先需要了解CSS中出现外边距塌陷情况是什么,下面给大家介绍一下三种情况。
 
      1.当上下相邻的两个块级元素相遇,上面的元素有下边距margin-bottom,下面的元素有上边距margin-top,则它们之间的垂直距离取两个值中的较大者。
 
<style>
  .box1 {
     width: 150px;
     height: 100px;
     margin-bottom: 20px;
     background-color: rgb(201, 239, 98);
  }
  .box2 {
     width: 100px;
     height: 100px;
     background-color: rebeccapurple;
     margin-top: 10px;
  }
</style>
   <div class="box1"></div>
   <div class="box2"></div>
    这时候两个盒子之间的垂直距离不是30px,而是20px。
 
    解决方法:
 
    尽量只给一个盒子添加margin值
 
    2.对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者。
 
<style>
        .box1 {
            width: 150px;
            height: 100px;
            margin-top: 20px;
            /* border: 1px solid #000000; */
            background-color: red;
        }
 
        .box2 {
            width: 100px;
            height: 100px;
            /* border: 1px solid #000000; */
            background-color: rebeccapurple;
            margin-top: 10px;
        }
    </style>
</head>
 
<body>
    <div class="box1">
        <div class="box2"></div>
    </div>
</body>
    这时候两个盒子会发生合并,上外边距为20px。
 
    解决办法:
 
    ①给父元素定义上边框
 
    ②给父元素定义上内边距
 
    ③给父元素添加 overflow:hidden;
 
    ④添加浮动
 
    ⑤添加绝对定位
 
    3.如果存在一个空的块级元素,border、padding、inline content、height、min-height都不存在,那么上下边距中间将没有任何阻隔,上下外边距将会合并。
 
<p style="margin-bottom: 0px;">这个段落的和下面段落的距离将为20px</p>
 
<div style="margin-top: 20px; margin-bottom: 20px;"></div>
 
<p style="margin-top: 0px;">这个段落的和上面段落的距离将为20px</p>
    可以理解成中间div宽度为0且上下边距融合,只取margin的最大值。

(编辑:厦门站长网)

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

    热点阅读