加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

探讨一下当 CSS 中出现外部居间失效时应该如何应对

发布时间:2023-07-29 14:34:09 所属栏目:语言 来源:
导读:这篇文章主要给大家分享CSS外边距塌陷及解决方法的内容,我们要解决外边距塌陷的问题,首先需要了解CSS中出现外边距塌陷情况是什么,下面给大家介绍一下三种情况。

1.当上下相邻的两个块级元素相遇,上面的元
这篇文章主要给大家分享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的最大值。
 
 

(编辑:聊城站长网)

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

    推荐文章