--祈粼
什么是BFC
block formatting context
塊級格式化上下文
觸發(fā)條件
float 除 none 以外的值
position 除 relative static 以外的值
overflow 除 visible 以外的值
display為 inline-block flex inlin-flex table-cell table-caption flow-root
BFC是一個(gè)獨(dú)立的布局環(huán)境,其中的元素布局是不受外界的影響讨阻,并且在一個(gè)BFC中,塊盒與行盒(行盒由一行中所有的內(nèi)聯(lián)元素所組成)都會垂直的沿著其父元素的邊框排列。
flow-root兼容
.wrapper{display: flow-root;} @supports not (display:flow-root) { .wrapper::after { content: ''; display: table; clear:both; } }
BFC 布局規(guī)則
內(nèi)部的Box會在垂直方向,一個(gè)接一個(gè)地放置巍杈。
Box垂直方向的距離由margin決定潦俺。屬于同一個(gè)BFC的兩個(gè)相鄰Box的margin會發(fā)生重疊。
每個(gè)盒子(塊盒與行盒)的margin box的左邊烘贴,與包含塊border box的左邊相接觸(對于從左往右的格式化,否則相反)眨层。即使存在浮動(dòng)也是如此庙楚。
BFC的區(qū)域不會與float box重疊。
BFC就是頁面上的一個(gè)隔離的獨(dú)立容器趴樱,容器里面的子元素不會影響到外面的元素馒闷。反之也如此。
計(jì)算BFC的高度時(shí)叁征,浮動(dòng)元素也參與計(jì)算纳账。
常作用場景
清除浮動(dòng)
避免margin重復(fù)
兄弟元素之間劃清界限