<span id="h9j9p"><th id="h9j9p"><th id="h9j9p"></th></th></span>
<sub id="h9j9p"><listing id="h9j9p"></listing></sub>

    <noframes id="h9j9p"><form id="h9j9p"></form>
    <form id="h9j9p"></form>
      <sub id="h9j9p"><dfn id="h9j9p"><menuitem id="h9j9p"></menuitem></dfn></sub>

      <form id="h9j9p"><nobr id="h9j9p"><meter id="h9j9p"></meter></nobr></form>
        400-650-7353

        精品課程

        您所在的位置:首頁 > IT干貨資料 > web前端 > 【Web前端基礎知識】什么是BFC

        【Web前端基礎知識】什么是BFC

        • 發布: 優就業it培訓
        • 來源:
        • 2021-10-29 15:19:39
        • 閱讀()
        • 分享
        • 手機端入口

        一、什么是BFC?

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

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

        Box:css布局的基本單位

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

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

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

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

        Formatting Context

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

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

        BFC的布局規則

        內部的Box會在垂直方向,一個接一個地放置。

        Box垂直方向的距離由margin決定。屬于同一個BFC的兩個相鄰Box的margin會發生重疊。

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

        BFC的區域不會與float box重疊。

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

        計算BFC的高度時,浮動元素也參與計算。

        什么是bfc?

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

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

        怎樣生成BFC

        根標簽

        float的值不為none

        overflow 的值不為 visible

        display 的值為 inline-block

        position 的值為 absolute 或 fixed

        BFC的特性

        垂直方向上的距離由margin決定,屬于同一個BFC的兩個相鄰標簽的margin會發生重疊。

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

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

        計算BFC的髙度時,浮動子標簽也參與計算。

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

        BFC解決的問題

        外邊距塌陷

        清浮動

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

        學習疑問申請解答
        您的姓名
        您的電話
        意向課程
         

        中公優就業

        IT小助手

        掃描上方二維碼添加好友,請備注:599,享學習福利。

        >>本文地址:
        注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

        推薦閱讀

        優就業:ujiuye

        關注中公優就業官方微信

        • 關注微信回復關鍵詞“大禮包”,享學習福利
        QQ交流群
        在線疑問解答
        (加群備注“網站”)
        IT培訓交流群 加入群聊 +
        軟件測試 加入群聊 +
        全鏈路UI/UE設計 加入群聊 +
        Python+人工智能 加入群聊 +
        互聯網營銷 加入群聊 +
        Java開發 加入群聊 +
        PHP開發 加入群聊 +
        VR/AR游戲開發 加入群聊 +
        大前端 加入群聊 +
        大數據 加入群聊 +
        Linux云計算 加入群聊 +
        優就業官方微信
        掃碼回復關鍵詞“大禮包”
        享學習福利

        測一測
        你適合學哪門IT技術?

        1 您的年齡

        2 您的學歷

        3 您更想做哪個方向的工作?

        獲取測試結果
         
        課程資料、活動優惠 領取通道
         
         
        亚洲日韩中文字幕一区
        <span id="h9j9p"><th id="h9j9p"><th id="h9j9p"></th></th></span>
        <sub id="h9j9p"><listing id="h9j9p"></listing></sub>

          <noframes id="h9j9p"><form id="h9j9p"></form>
          <form id="h9j9p"></form>
            <sub id="h9j9p"><dfn id="h9j9p"><menuitem id="h9j9p"></menuitem></dfn></sub>

            <form id="h9j9p"><nobr id="h9j9p"><meter id="h9j9p"></meter></nobr></form>