哈喽,各位小伙伴好!今天来整理下前端关于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的知识点和一些应用。布局