前端面試知識點(五)--- BFC的建立和作用
如何建立BFC
1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible
BFC的作用
-
利用BFC避免margin重疊。
一起來看一個例子:<style> *{ margin: 0; padding: 0; } p { color: #f55; background: yellow; width: 200px; line-height: 100px; text-align:center; margin: 30px; } </style> <body> <p>看看我的 margin是多少</p> <p>看看我的 margin是多少</p> </body>
頁面效果如下:
我們會發現,p標籤垂直方向的margin重合了,因為屬於同一個BFC的兩個相鄰的Box會發生margin重疊
解決方法:我們可以讓把第二個p用div包起來,然後啟用它使其成為一個BFC<style> *{ margin: 0; padding: 0; } p { color: #f55; background: yellow; width: 200px; line-height: 100px; text-align:center; margin: 30px; } div{ overflow: hidden; } </style> <body> <p>看看我的 margin是多少</p> <div> <p>看看我的 margin是多少</p> </div> </body>
頁面效果如下:
-
解決兄弟盒子間因浮動產生的遮蓋問題
<style> *{ margin: 0; padding: 0; } body { width: 100%; position: relative; } .left { width: 100px; height: 150px; float: left; background: rgb(139, 214, 78); font-size: 20px; } .right { height: 300px; background: rgb(170, 54, 236); font-size: 40px; } </style> <body> <div class="left">LEFT</div> <div class="right">RIGHT</div> </body>
頁面效果如下:
我們發現當左邊的盒子設定浮動後,右邊的盒子被遮蓋了,為了解決這個問題,我們讓right盒子成為一個單獨的BFC.right { overflow: hidden; //建立BFC height: 300px; background: rgb(170, 54, 236); font-size: 40px; }
頁面效果如下:
-
解決父元素因子元素浮動產生的高度塌陷問題(清除浮動)
相關文章
- Python 五個知識點搞定作用域Python
- 前端面試知識點錦集前端面試
- 前端面試知識點目錄整理前端面試
- 前端知識點總結—面試專用前端面試
- 史上前端面試最全知識點前端面試
- 前端面試之BFC前端面試
- css知識:flex 、bfcCSSFlex
- 面試知識點面試
- 前端知識點前端
- 前端面試常見的知識點(四處搜刮)?前端面試
- 面試-JS基礎知識-作用域和閉包、this面試JS
- 面試必知的web知識點面試Web
- 【面試向】極簡前端知識點(不斷更新)面試前端
- 前端面試中容易讓你忽略的知識點(一)前端面試
- 前端進階之什麼是BFC?BFC的原理是什麼?如何建立BFC?前端
- html前端知識點HTML前端
- 前端小知識點前端
- 面試需要掌握的知識點面試
- 大前端常見面試題:HTML常考知識點前端面試題HTML
- 五個UICollectionView常用的知識點UIView
- 五、面試必問知識點——ThreadLocal實現、原理、示例面試thread
- JVM面試知識點梳理JVM面試
- jQuery面試知識點整理jQuery面試
- android 面試知識點Android面試
- 前端知識點參考前端
- 【知識分享】ddos防火牆的作用和特點是什麼防火牆
- 自己整理的php面試知識點PHP面試
- 前端必須掌握的知識點前端
- vue實際工作用到的知識點Vue
- SDWebImage面試常問點知識點Web面試
- 面試總結:Promise有關面試的知識點。面試Promise
- 校招前端面試知識大全前端面試
- 前端經典的JavaScript面試知識總結前端JavaScript面試
- CSS知識點面試總結CSS面試
- java面試知識點總結Java面試
- Flutter 面試知識點集錦Flutter面試
- Java 面試知識點總結Java面試
- Redis 面試必備知識點Redis面試