1. 程式人生 > >css中的高度塌陷以及開啟BFC的方法

css中的高度塌陷以及開啟BFC的方法

開啟BFC實驗

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box1{
            background-color: pink;
            /*height: 200px;*/
            width: 300px;

            /*開啟BFC的方法*/
            /*一、開啟父元素的同方向浮動;那麼父元素和子元素一起脫離了文件流,
            父元素下面的同級元素依舊會上移,但是父元素也算是有了高度!這個高度和子集元素高度一致!*/
/*float: left;*/ /*二、設定父級元素為絕對定位或者固定定位,和設定浮動的效果一樣。*/ /*position:absolute;*/ /*三、設定父級元素的display為incline-block,也就是將父級元素變成了行內塊級元素?????脫離文件流??? 父元素下面的同級元素會在原本文件流中的位置下些許下移,考慮是由於變成了塊級元素導致兩個塊級元素導致??? 父級元素的高度被子級元素撐開了! 設定成:display:block;就不行! */
/*display:inline-block;*/ /*四、設定父級元素的overflow非預設屬性: 父級元素會被子元素撐開,高度就是子元素的高度; 父元素下面的同級元素不會上移。*/ /*overflow:hidden;*/ /*五(未開啟BFC,但是解決了高度塌陷問題!)、設定父元素的高度,這種方法照成的結果和開啟overflow的結果一致;但是本質應該是不相同的。*/ /*height: 100px;*/ }
/*六、給塌陷的父級元素的最後新增一個元素,使該元素清除浮動,呈現塊級樣式。也可解決高度塌陷問題!*/
/*.box1:after{*/ /*content: '';*/ /*display: table;*/ /*clear: both;*/ /*} */ .box2{ height: 300px; width: 300px; background-color: red; } .b1{ background-color: purple; width: 100px; height: 100px; float: left; } .b2{ background-color: green; width: 100px; height: 100px; float: left; }
</style> </head> <body> <div class="box1"> <div class="b1"></div> <div class="b2"></div> <div class="clearfix"></div> </div> <div class="box2"></div> </body> </html>