真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

BFC的示例分析

這篇文章給大家分享的是有關(guān)BFC的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)是專業(yè)的郊區(qū)網(wǎng)站建設(shè)公司,郊區(qū)接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行郊區(qū)網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于什么是BFC?BFC的深入解析 ,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

一、什么是BFC

Formatting context 是 W3C CSS2.1 規(guī)范中的一個(gè)概念。它是頁(yè)面中的一塊渲染區(qū)域,并且有一套渲染規(guī)則,它決定了其子元素將如何定位,以及和其他元素的關(guān)系和相互作用。最常見(jiàn)的 Formatting context 有 Block fomatting context (簡(jiǎn)稱BFC)和 Inline formatting context (簡(jiǎn)稱IFC)。Block formatting context直譯為"塊級(jí)格式化上下文"。它是一個(gè)獨(dú)立的渲染區(qū)域,只有Block-level box參與, 它規(guī)定了內(nèi)部的Block-level Box如何布局,并且與這個(gè)區(qū)域外部毫不相干。通俗地講,BFC是一個(gè)容器,用于管理塊級(jí)元素。

二、如何創(chuàng)建BFC

  • float為 left|right

  • overflow為 hidden|auto|scroll

  • display為 table-cell|table-caption|inline-block|inline-flex|flex

  • position為 absolute|fixed

  • 根元素

三、BFC布局規(guī)則:

  • 內(nèi)部的Box會(huì)在垂直方向,一個(gè)接一個(gè)地放置(即塊級(jí)元素獨(dú)占一行)。

  • BFC的區(qū)域不會(huì)與float box重疊(利用這點(diǎn)可以實(shí)現(xiàn)自適應(yīng)兩欄布局)。

  • 內(nèi)部的Box垂直方向的距離由margin決定。屬于同一個(gè)BFC的兩個(gè)相鄰Box的margin會(huì)發(fā)生重疊(margin重疊三個(gè)條件:同屬于一個(gè)BFC;相鄰;塊級(jí)元素)。

  • 計(jì)算BFC的高度時(shí),浮動(dòng)元素也參與計(jì)算。(清除浮動(dòng) haslayout)

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

四、 BFC有哪些特性

特性1:BFC會(huì)阻止垂直外邊距折疊

按照BFC的定義,只有同屬于一個(gè)BFC時(shí),兩個(gè)元素才有可能發(fā)生垂直margin的重疊,這個(gè)包括相鄰元素或者嵌套元素,只要他們之間沒(méi)有阻擋(比如邊框、非空內(nèi)容、padding等)就會(huì)發(fā)生margin重疊。

①相鄰兄弟元素margin重疊問(wèn)題



    

ABC

    

abc

BFC的示例分析

上面例中兩個(gè)P元素之間距離本該為200px,然而實(shí)際上只有100px,發(fā)生了margin重疊。遇到這種情形,我們?nèi)绾翁幚恚?br/>只需要在p外面包裹一層容器,并觸發(fā)該容器生成一個(gè)BFC。那么兩個(gè)P便不屬于同一個(gè)BFC,就不會(huì)發(fā)生margin重疊了



   

ABC

       

abc

  

BFC的示例分析

②父子元素margin重疊問(wèn)題



box
  

h2

BFC的示例分析

上圖wrap元素與h2元素之間l理論上本該有個(gè)40px的上下margin值,然而實(shí)際上父子元素并沒(méi)有存在margin值,與此同時(shí),兩個(gè)p元素的間距為40px。遇到這種情形,我們?nèi)绾翁幚恚?br/>處理方法其實(shí)有很多,在wrap元素中添加:overflow:hidden;或者overflow:auto;使其父元素形成一個(gè)BFC;也可以在wrap元素中添加border:1px solid;或是padding:1px;這些都可以有效解決父子元素margin重疊問(wèn)題。

BFC的示例分析

特性2:BFC不會(huì)重疊浮動(dòng)元素

利用這個(gè)特性,我們可以創(chuàng)造自適應(yīng)兩欄布局。



我是一個(gè)左浮動(dòng)的元素
喂喂喂!大家不要生氣嘛,生氣會(huì)犯嗔戒的。悟空你也太調(diào)皮了,
我跟你說(shuō)過(guò)叫你不要亂扔?xùn)|西,你怎么又……你看,我還沒(méi)說(shuō)完你就把棍子給扔掉了!
月光寶盒是寶物,你把它扔掉會(huì)污染環(huán)境,要是砸到小朋友怎么辦,就算砸不到小朋友,
砸到花花草草也是不對(duì)的。

BFC的示例分析

上圖中,文字圍繞著浮動(dòng)元素排列,不過(guò)在這里,這顯然不是我們想要的。此時(shí)我們可以為.box2元素的樣式加上overflow:hidden;使其建立一個(gè)BFC,讓其內(nèi)容消除對(duì)外界浮動(dòng)元素的影響

BFC的示例分析

這個(gè)方法可以用來(lái)實(shí)現(xiàn)兩列自適應(yīng)布局,效果不錯(cuò),此時(shí)左邊的寬度固定,右邊的內(nèi)容自適應(yīng)寬度。如果我們改變文字的大小或者左邊浮動(dòng)元素的大小,兩欄布局的結(jié)構(gòu)依然沒(méi)有改變!

特性3:BFC可以包含浮動(dòng)----清除浮動(dòng)

我們都知道浮動(dòng)會(huì)脫離文檔流,接下來(lái)我們看看下面的例子:




  
  
 

BFC的示例分析

由于容器內(nèi)兩個(gè)div元素浮動(dòng),脫離了文檔流,父容器內(nèi)容寬度為零(即發(fā)生高度塌陷),未能將子元素包裹住。解決這個(gè)問(wèn)題,只需要把把父元素變成一個(gè)BFC就行了。常用的辦法是給父元素設(shè)置overflow:hidden。

BFC的示例分析

感謝各位的閱讀!關(guān)于“BFC的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


文章名稱:BFC的示例分析
URL標(biāo)題:http://weahome.cn/article/gjsgpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部