P43-前端基础-clearfix解决高度塌陷和外边框重叠问题

举报
brucexiaogui 发表于 2021/11/25 22:48:55 2021/11/25
【摘要】 P43-前端基础-clearfix解决高度塌陷和外边框重叠问题 1.概述 在上篇文章P42-前端基础-浮动塌陷最终解决方案介绍了终结解决浮动带来的高度塌陷问题。下面我们接着上篇文章继续介绍解决外...

P43-前端基础-clearfix解决高度塌陷和外边框重叠问题

1.概述

2.外边框重叠问题复现

2.1.外边框重叠复现代码

在div2设置了margin-top 上边距,div2子元素的外边距会传递给父元素div1,因此div1也有了外边距,但是这个不是我们想要的,我们只想设置div2有外边距。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>clearfix</title>
    
    <style>
      
      .box1 {
        width: 200px;
        height: 200px;
        background-color: #bfa;
      }

      .box2 {
        width: 100px;
        height: 100px;
        background-color: chocolate;
        margin-top: 100px;
      }
    </style>
  </head>
  <body>
    <div class="box1">
      <div class="box2"></div>
    </div>
  </body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

3.解决外边框重叠问题

3.1.解决思路

解决思路就是将div2和div1重叠的上边隔开,是他产生间距。这样就避免了外边距重叠导致div1向下移动
通过给div1添加一个伪元素 ::before使他添加一个内容将重叠的外边框隔开。

3.2.第一种解决方案

在这里插入图片描述

  • 效果展示
    在这里插入图片描述

3.2.终极解决方案clearfix

我们使用clearfix类来解决高度塌陷和外边框重叠两个问题,上面的解决思路就是他的原理。

  • clearfix解决外边距重叠
    在这里插入图片描述
  • clearfix解决高度塌陷
    在这里插入图片描述

3.3.终极解决方案效果

在这里插入图片描述

3.4.终极解决方案clearfix完整代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>clearfix</title>
    
    <style>
      
      .box1 {
        width: 200px;
        height: 200px;
        background-color: #bfa;
      }

      /* .box1::before {
        content: '';
        display: table;
      } */

      .box2 {
        width: 100px;
        height: 100px;
        background-color: chocolate;
        margin-top: 100px;
      }

      .clearfix::before,
      .clearfix::after {
        content: '';
        display: table;
        clear: both;
      }
    </style>
  </head>
  <body>
    <div class="box1 clearfix">
      <div class="box2"></div>
    </div>
  </body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/112909840

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。