css中的高度塌陷以及開啟BFC的方法
阿新 • • 發佈:2019-02-08
開啟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>