<ins id="6k1m6"><video id="6k1m6"></video></ins>

    <ruby id="6k1m6"><option id="6k1m6"></option></ruby>
    <code id="6k1m6"><option id="6k1m6"></option></code>
  1. <output id="6k1m6"></output>
    400-650-7353
    您所在的位置:首頁(yè) > IT干貨資料 > web前端 > 【W(wǎng)eb前端基礎知識】什么是BFC

    【W(wǎng)eb前端基礎知識】什么是BFC

    一、什么是BFC?

    BFC(Block formatting context)直譯為"塊級格式化上下文"。它是一個(gè)獨立的渲染區域,只有Block-level box參與, 它規定了內部的Block-level Box如何布局,并且與這個(gè)區域外部毫不相干。

    在解釋什么是BFC之前,我們需要先知道Box、Formatting Context的概念。

    Box:css布局的基本單位

    Box 是 CSS 布局的對象和基本單位, 直觀(guān)點(diǎn)來(lái)說(shuō),就是一個(gè)頁(yè)面是由很多個(gè) Box 組成的。元素的類(lèi)型和 display 屬性,決定了這個(gè) Box 的類(lèi)型。 不同類(lèi)型的 Box, 會(huì )參與不同的 Formatting Context(一個(gè)決定如何渲染文檔的容器),因此Box內的元素會(huì )以不同的方式渲染。讓我們看看有哪些盒子:

    block-level box:display 屬性為 block, list-item, table 的元素,會(huì )生成 block-level box。并且參與 block fomatting context;

    inline-level box:display 屬性為 inline, inline-block, inline-table 的元素,會(huì )生成 inline-level box。并且參與 inline formatting context;

    run-in box: css3 中才有, 這兒先不講了。

    Formatting Context

    Formatting context 是 W3C CSS2.1 規范中的一個(gè)概念。它是頁(yè)面中的一塊渲染區域,并且有一套渲染規則,它決定了其子元素將如何定位,以及和其他元素的關(guān)系和相互作用。最常見(jiàn)的 Formatting context 有 Block fomatting context (簡(jiǎn)稱(chēng)BFC)和 Inline formatting context (簡(jiǎn)稱(chēng)IFC)。

    BFC是一個(gè)獨立的布局環(huán)境,其中的元素布局是不受外界的影響,并且在一個(gè)BFC中,塊盒與行盒(行盒由一行中所有的內聯(lián)元素所組成)都會(huì )垂直的沿著(zhù)其父元素的邊框排列。

    BFC的布局規則

    內部的Box會(huì )在垂直方向,一個(gè)接一個(gè)地放置。

    Box垂直方向的距離由margin決定。屬于同一個(gè)BFC的兩個(gè)相鄰Box的margin會(huì )發(fā)生重疊。

    每個(gè)盒子(塊盒與行盒)的margin box的左邊,與包含塊border box的左邊相接觸(對于從左往右的格式化,否則相反)。即使存在浮動(dòng)也是如此。

    BFC的區域不會(huì )與float box重疊。

    BFC就是頁(yè)面上的一個(gè)隔離的獨立容器,容器里面的子元素不會(huì )影響到外面的元素。反之也如此。

    計算BFC的高度時(shí),浮動(dòng)元素也參與計算。

    什么是bfc?

    Formatting Context:指頁(yè)面中的一個(gè)渲染區域,并且擁有一套渲染規則,他決定了 其子標簽如何定位,以及與其他標簽的相互關(guān)系和作用。

    BFC塊級格式化上下文,它是指一個(gè)獨立的塊級渲染區域,只有Block-level BOX參與, 該區域擁有一套渲染規則來(lái)約束塊級盒子的布局,且與區域外部無(wú)關(guān)。

    怎樣生成BFC

    根標簽

    float的值不為none

    overflow 的值不為 visible

    display 的值為 inline-block

    position 的值為 absolute 或 fixed

    BFC的特性

    垂直方向上的距離由margin決定,屬于同一個(gè)BFC的兩個(gè)相鄰標簽的margin會(huì )發(fā)生重疊。

    每個(gè)標簽的左外邊距與包含塊的左邊界相接觸(從左向右),即使浮動(dòng)標簽也是如此。

    BFC 的區域不會(huì )與 float 的標簽區域重疊。(不包括固定定位方法)

    計算BFC的髙度時(shí),浮動(dòng)子標簽也參與計算。

    BFC就是頁(yè)面上的一個(gè)隔離的獨立容器,容器里面的子標簽不會(huì )影響到外面標簽, 反之亦然。

    BFC解決的問(wèn)題

    外邊距塌陷

    清浮動(dòng)

    兩欄或者三欄自適應布局 (只能用overflow:hidden)

    文章“【W(wǎng)eb前端基礎知識】什么是BFC”已幫助

    更多內容

    >>本文地址:http://www.littlerockbway.com/zhuanye/2021/70627.html

    THE END  

    聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉載。

    1 您的年齡

    2 您的學(xué)歷

    3 您更想做哪個(gè)方向的工作?

    獲取測試結果
    • 大前端大前端
    • 大數據大數據
    • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
    • JavaJava
    • Linux云計算Linux
    • Python+人工智能Python
    • 嵌入式物聯(lián)網(wǎng)嵌入式
    • 全域電商運營(yíng)全域電商運營(yíng)
    • 軟件測試軟件測試
    • 室內設計室內設計
    • 平面設計平面設計
    • 電商設計電商設計
    • 網(wǎng)頁(yè)設計網(wǎng)頁(yè)設計
    • 全鏈路UI/UE設計UI設計
    • VR/AR游戲開(kāi)發(fā)VR/AR
    • 網(wǎng)絡(luò )安全網(wǎng)絡(luò )安全
    • 新媒體與短視頻運營(yíng)新媒體
    • 直播帶貨直播帶貨
    • 智能機器人軟件開(kāi)發(fā)智能機器人
     

    快速通道fast track

    近期開(kāi)班時(shí)間TIME

    两个人在线观看免费播放_国产精品天干天干_亚洲婷婷月色婷婷五月小蛇_男人的好小说全文免费阅读