CSS - 正確解決 float 高度坍塌的問題


<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>正確解決高度塌陷</title>
  <style media="screen">
    .box {
      border: 1px solid;
    }

    .float {
      width: 100px;
      height: 100px;
      background: skyblue;
      float: left;
    }

    .clearfix:after {
      content:'';
      clear: both;
      display:block;
    }
  </style>
</head>

<body>
  <div class="box clearfix">
    <div class="float">
    </div>
  </div>
</body>

</html>

 

補充:

一, float 使父元素高度坍塌的原因 :

  子元素使用 float 后,使其脫離文檔流 。 使父元素檢測不到其尺寸。

二,5種解決方案 :

1,為父元素設置高度 , 缺陷是 :不靈活

2,為父元素設置 float ,   缺陷是 :使父元素也脫離,沒有真正解決

3,為父元素設置 overflow:hidden , 缺陷是 :會隱藏相關的元素

4,子元素后面添加 一個 clear:both 的 兄弟元素 , 缺陷是 : 使 html 添加了一個多余的結構

5,為父元素添加一個 content:"";clear:both;display:block 的偽類 。 ( 可取 )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM