国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

理解BFC以及BFC相關(guān)布局問題解決

atinosun / 556人閱讀

寫頁面時(shí)會(huì)遇到:

子元素float父元素的高度不會(huì)撐開;

在布局時(shí),box1and box2,其中box1 float:left,這是box2會(huì)在box1下面,(如果文字過多就會(huì)形成文字環(huán)繞效果),但我就是想要box2在box1的右側(cè);

又或是上下兩個(gè)box的margin重疊。

這些問題除了其他一些方法解決外,都可以利用加上overflow:hidden,但是why?其實(shí) BFC的作用呢。
BFC??啥?
BFC這個(gè)詞....

BFC:全稱box formatting context;即塊格式上下文,block-level元素參與;

那么什么是block-level呢?
等等 等等...
"W3C" CSS2.1規(guī)范:
Block-level elements?are those elements of the source document that are formatted visually as blocks (e.g., paragraphs). The following values of the?"display"property make an element block-level: "block", "list-item", and "table".
塊級元素是源文檔中被視為塊(例如段落)可視化格式的那些元素。 "display"屬性的以下值構(gòu)成一個(gè)塊級別:"block","list-item"和"table"。

那它是怎么形成的呢?

以下情況之一:

float值不為none

position:fixed / absolute

display:table-cell / table-caption /inline-block / flex / inline-flex.

overflow屬性不為visible

我們知道了什么是BFC,如何形成BFC,接下來就要說BFC的布局規(guī)則
滴滴滴...

內(nèi)部的box會(huì)一個(gè)接一個(gè)地垂直布局。

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

每個(gè)盒子的左外邊框緊挨著左邊框的包含塊(從左往右的格式化時(shí),否則相反)。即使存在浮動(dòng)也是如此

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

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

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

該知道的理論也差不多了,該解答了~
問題1:子元素float父元素的高度不會(huì)撐開

 
我是left
我是right

效果:

我們看到container只是right的高,而left中float使該元素脫離了文檔流它的高沒有計(jì)算在內(nèi),現(xiàn)在要想left的高度計(jì)算在內(nèi),根據(jù)BFC布局規(guī)則6就可以,形成一個(gè)BFC區(qū)不就可以計(jì)算float的高度嘍,來,上碼:

.container{
                color:#FFF;
                width: 300px;
                margin:100px auto;
                border:1px solid #330033;
                overflow: hidden;
            }


果真嘿,其實(shí),這里不止加overflow:hidden,加上邊介紹任何一種可以形成BFC區(qū)奏行,比如:overflow: auto; / float: left; /display: flex;等等,根據(jù)項(xiàng)目中的實(shí)際需求。

2.問題2:box2在box1右側(cè)
在問題1里的代碼基礎(chǔ)上,把right區(qū)增加一個(gè)高度比如300px,就可以看到效果liu

           .right{
                background: #FFCCFF;
                height: 300px;
                overflow: hidden;
            }

由于left塊float的原因,導(dǎo)致right在left下面,解決此問題
根據(jù)BFC布局規(guī)則4 :BFC的區(qū)域不會(huì)與float box重疊,那么right形成BFC區(qū)
效果:

哇,好了呀!

問題3:magin重疊問題

   
我是box1
我是box2


我們大多以為是80px,可結(jié)果卻是50px!
why?
BFC原則2指明了同一個(gè)BFC區(qū)的margin垂直重疊,不在同一個(gè)是不是就不重疊了,來來來

        ...
        .wrapper{
               overflow:hidden;
          }  
        ...
        
我是box1
我是box2

ok!通過給box1或box2添加一個(gè)父元素形成和另一個(gè)不在同一區(qū)。

關(guān)于垂直margin折疊

兩個(gè)相鄰的外邊距都是正數(shù)時(shí),折疊結(jié)果是它們兩者之間較大的值;

兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí),折疊結(jié)果是兩者絕對值的較大值;

兩個(gè)外邊距一正一負(fù)時(shí),折疊結(jié)果是兩者的相加的和;

最后的最后,歡迎指正~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/51935.html

相關(guān)文章

  • 理解 CSS 布局BFC

    摘要:布局中有一些概念,一旦你理解了它們,就能真正提高你的布局能力。我們通常有兩種方法來解決這個(gè)布局問題。是布局中的一個(gè)迷你布局你可以將看作是頁面內(nèi)的一個(gè)迷你布局。理解瀏覽器如何布置網(wǎng)頁是非常基礎(chǔ)的。 CSS布局中有一些概念,一旦你理解了它們,就能真正提高你的 CSS 布局能力。本文是關(guān)于塊格式化上下文(BFC)的。你可能從未聽說過這個(gè)術(shù)語,但是如果你曾經(jīng)用CSS做過布局,你可能知道它是什么...

    miya 評論0 收藏0
  • 談?wù)?em>BFC與ie特有屬性hasLayout

    摘要:當(dāng)一個(gè)內(nèi)聯(lián)元素想獲得就要使用這個(gè)屬性。下因?yàn)閷?dǎo)致的浮動(dòng)元素與普通元素之間產(chǎn)生代碼如下我是浮動(dòng)元素我是后面的文字,用來測試的正常情況下解決方式加一個(gè)的不只是文字,的浮動(dòng)元素也會(huì)和內(nèi)聯(lián)元素產(chǎn)生的值。設(shè)置屬性的元素不和任何元素發(fā)生合并。 發(fā)現(xiàn)我好久沒更新博文了=-=這里把我之前在博客園寫過的一篇關(guān)于BFC的文章粘貼過來,順便自己也再次做個(gè)總結(jié)。 最近看了一篇總結(jié)ie常見bug的文章,里面提...

    CodeSheep 評論0 收藏0
  • 談?wù)?em>BFC與ie特有屬性hasLayout

    摘要:當(dāng)一個(gè)內(nèi)聯(lián)元素想獲得就要使用這個(gè)屬性。下因?yàn)閷?dǎo)致的浮動(dòng)元素與普通元素之間產(chǎn)生代碼如下我是浮動(dòng)元素我是后面的文字,用來測試的正常情況下解決方式加一個(gè)的不只是文字,的浮動(dòng)元素也會(huì)和內(nèi)聯(lián)元素產(chǎn)生的值。設(shè)置屬性的元素不和任何元素發(fā)生合并。 發(fā)現(xiàn)我好久沒更新博文了=-=這里把我之前在博客園寫過的一篇關(guān)于BFC的文章粘貼過來,順便自己也再次做個(gè)總結(jié)。 最近看了一篇總結(jié)ie常見bug的文章,里面提...

    iliyaku 評論0 收藏0
  • CSS: 潛藏著的BFC

    摘要:而就潛藏在其中,當(dāng)你修改樣式時(shí),一不小心就能觸發(fā)它而毫無察覺,因此沒有意識(shí)到的神奇之處。實(shí)例解決侵占浮動(dòng)元素的問題我們知道浮動(dòng)元素會(huì)脫離文檔流,然后浮蓋在文檔流元素上。 在寫樣式時(shí),往往是添加了一個(gè)樣式,又或者是修改了某個(gè)屬性,就達(dá)到了我們的預(yù)期。而BFC就潛藏在其中,當(dāng)你修改樣式時(shí),一不小心就能觸發(fā)它而毫無察覺,因此沒有意識(shí)到BFC的神奇之處。 一、什么是BFC(Block Form...

    learn_shifeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<