哈嘍,各位小夥伴好!今天來整理下前端關於css佈局的一個知識點 - BFC(Block fomatting context),若是知識點梳理有出錯的地方,望夥伴們幫忙指出,一塊兒進步~css
BFC 能夠理解爲創建一個佈局容器,容器裏按本身的方式來佈局,且與容器外界的元素互不影響。前端
<!-- 1.產生一個 BFC 容器 -->
<style>
.wrap {
background-color: #ccc;
}
.fl {
float: left;
background-color: yellow;
}
.fl>div {
border:1px solid #333;
}
</style>
<div class="wrap">
<div class="fl">
<div class="div">這是div - 1</div>
<div class="div">這是div - 2</div>
</div>
產生一個 BFC 容器產生一個 BFC 容器產生一個 BFC 容器產生一個 BFC 容器產生一個 BFC 容器產生一個 BFC 容器產生一個 BFC 容器
</div>
複製代碼
<!-- 產生 margin 重疊 -->
<style>
.p1 {
margin:10px 0;
background-color: #ccc;
}
.p2 {
margin:10px 0;
background-color: #eee;
}
</style>
<div class="p1">這是文本1111111111111111</div>
<div class="p2">這是文本2222222222222222</div>
複製代碼
<!-- 解決產生 margin 重疊 -->
<style>
.p1 {
margin:10px 0;
background-color: #ccc;
}
.wrap {
overflow:hidden;
}
.p2 {
margin:10px 0;
background-color: #eee;
}
</style>
<div class="p1">這是文本1111111111111111</div>
<div class="wrap">
<div class="p2">這是文本2222222222222222</div>
</div>
複製代碼
<!-- 利用 BFC進行左右佈局 -->
<style>
.wrap {
}
.fl {
float: left;
width: 120px;
background-color: #eee;
height: 300px;
}
.main {
background-color: #ccc;
height: 400px;
overflow:hidden;
}
</style>
<div class="wrap">
<div class="fl">左邊</div>
<div class="main">主體內容主體內容主體內容主體內容主體內容主體內容</div>
</div>
複製代碼
(對應上面介紹的特性4 - BFC容器不會與float元素髮生重疊) bash
<!-- 解決浮動元素形成的父元素高度出錯 -->
<style>
.wrap {
background-color: #eee;
overflow:hidden;
}
.fl {
float: left;
background-color: #ccc;
height: 100px;
}
.con {
height: 30px;
}
</style>
<div class="wrap">
<div class="fl">高度爲100px的浮動元素</div>
<div class="con">這是文本這是文本這是文本這是文本這是文本</div>
</div>
複製代碼
以上就是我整理的一些關於BFC的知識點和一些應用。佈局