> 清除浮動比較簡單,但這里要答出BFC,BFC是必考的,你要說你沒聽說過,那就直接pass了
1.父級定義偽類:after和zoom:
瀏覽器支持好,不容易出現怪問題, 代碼多,不少初學者不理解原理,要兩句代碼結合使用,才能讓主流瀏覽器都支持
```
.clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}
.clearfloat{zoom:1}
```
2.添加空div標簽:clear:both
添加一個空div,利用css提高的clear:both清除浮動,讓父級div能自動獲取到高度.不少初學者不理解原理;如果頁面浮動布局多,就要增加很多空div,讓人感覺很不爽
3.父級定義height
父級div手動定義height,就解決了父級div無法自動獲取到高度的問題,但只適合高度固定的布局,要給出精確的高度,如果高度和父級div不一樣時,會產生問題。
4.父級定義overflow:hidden/auto
必須定義width或zoom:1,同時不能定義height,只推薦沒有使用position或對overflow理解比較深的同學使用,注意滾動條!
> *BFC (*塊級格式化上下文*)*,是一個獨立的渲染區域,讓處于`BFC`內部的元素與外部的元素相互隔離,使內外元素的定位不會相互影響。
*觸發條件:*
* 根元素
* `position: absolute/fixed`
* `display: inline-block / table`
* `float`元素
* `ovevflow !== visible`
*規則:*
* 屬于同一個`BFC`的兩個相鄰`Box`垂直排列
* 屬于同一個`BFC`的兩個相鄰`Box`的`margin`會發生重疊
* `BFC`的區域不會與`float`的元素區域重疊
* 計算`BFC`的高度時,浮動子元素也參與計算
* 文字層不會被浮動層覆蓋,環繞于周圍
- js面試題
- 說一下自己常用的es6的功能?
- 頁面渲染html的過程?
- 說一下事件代理?
- 說一下繼承的幾種方式及優缺點?
- 說一下閉包?
- 對JSONP的理解*
- 基本的數據類型有哪些?
- js程序題
- JS找字符串中出現最多的字符
- 數組去重怎么作?
- 變量提升的這道題你會嗎
- 用一段代碼思考this的指向問題
- 這些類型的typeof返回什么值?
- 怎樣添加、移除、移動、復制、創建和查找節點?
- css面試題
- css水平、垂直居中的寫法,請至少寫出4種
- 1rem、1em、1vh、1px各自代表的含義?
- 說一下盒模型?
- 清除浮動的幾種方式,及原理?
- b與strong的區別?
- img中的alt與title屬性?
- 瀏覽器兼容性
- IE6的BUG你都遇過哪些?怎么解決的?
- html面試題
- 對HTML結構語義化的理解?
- 前端工程化面試題
- webpack
- export和export default的區別?
- VueJs面試題
- 基礎
- 生命周期
- vue路由(vue-router)
- 狀態管理(vuex)
- axios
- vue-cli框架
- 前端架構面試題
- HTTP
- get、post的區別
- 你所知道的http的響應碼及含義?