文章出處

定義

  在解釋BFC之前,先一下文檔流。我們常說的文檔流其實分為定位流、浮動流和普通流三種。而普通流其實就是指BFC中的FC。FC是formatting context的首字母縮寫,直譯過來是格式化上下文,它是頁面中的一塊渲染區域,有一套渲染規則,決定了其子元素如何布局,以及和其他元素之間的關系和作用。常見的FC有BFC、IFC,還有GFC和FFC。BFC是block formatting context,也就是塊級格式化上下文,是用于布局塊級盒子的一塊渲染區域

 

觸發條件

  滿足下列條件之一就可觸發BFC

  【1】根元素,即HTML元素

  【2】float的值不為none

  【3】overflow的值不為visible

  【4】display的值為inline-block、table-cell、table-caption

  【5】position的值為absolute或fixed

 

作用

  BFC是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面元素,反之亦然。它與普通的塊框類似,但不同之處在于:

  【1】可以阻止元素被浮動元素覆蓋

  <說明>通過改變內容為BFC背景為紅色的盒子的屬性值,使其成為BFC,以此阻止被綠色的浮動盒子覆蓋

  【2】可以包含浮動元素

  <說明>通過改變高度塌陷的黑色邊框的盒子的屬性值,使其成為BFC,以此來包含綠色的浮動盒子

  【3】屬于同一個BFC的兩個相鄰塊級子元素的上下margin會發生重疊,(設置writing-mode:tb-rl時,水平margin會發生重疊)。所以當兩個相鄰塊級子元素分屬于不同的BFC時可以阻止margin重疊

  <說明>淡紅色背景的塊級盒子二的外面包一個div,通過改變此div的屬性使紅色盒子與綠色盒子分屬于兩個不同的BFC,以此來阻止margin重疊


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()