站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        什么是BFC?有什么用?

        什么是BFC?有什么用?

        BFC

        (推薦教程:css快速入門)

        即塊格式化上下文(block formatting context) 是頁面 CSS 視覺渲染的一部分。它是用于決定塊盒子的布局及浮動(dòng)相互影響的一個(gè)區(qū)域。

        我的理解:

        BFC是一個(gè)環(huán)境,在這個(gè)環(huán)境中的元素不會影響到其他環(huán)境中的布局,也就是說,處于不同BFC中的元素是不會互相干擾的。

        作用:

        1、阻止外邊距折疊

        兩個(gè)相連的塊級元素在垂直上的外邊距會發(fā)生疊加,有些把這種情況看作是bug,但我覺得可能是出于段落排版的考慮,為了令行間距一致才有的這一特性。我們先來看看例子:

        什么是BFC?有什么用?

        *{margin: 0px;padding: 0px} p {     color: red;     background: #eee;     width: 100px;     height: 100px;     line-height: 100px;     text-align: center;     margin: 10px;     border: solid 1px red; }

        從上面可以看出,我們給兩個(gè)p元素都設(shè)置margin,但中間的間距卻發(fā)生了折疊。然后舉個(gè)BFC的例子:

        .ele{     overflow: hidden;     border: solid 1px red; }

        什么是BFC?有什么用?

        從上面可以看出,我們?yōu)槊總€(gè)div元素設(shè)置overflow的值為hidden,產(chǎn)生一個(gè)塊級格式上下文,因?yàn)橥膺吘嗖粫嗷ブ丿B。

        2、BFC可以包含浮動(dòng)的元素

        什么是BFC?有什么用?

        *{margin: 0px;padding: 0px} .floatL{     float: left;     width: 100px;     height: 100px;     background-color: red;     text-align: center;     line-height: 100px; } .box{     border: 1px solid red;     width: 300px;     margin: 100px;     padding: 20px; } .BFC{     overflow: hidden;     *zoom: 1; }

        從運(yùn)行結(jié)果可以看出,如果塊級元素里面包含著浮動(dòng)元素會發(fā)生高度塌陷,但是將它變成一個(gè)BFC后,BFC在計(jì)算高度時(shí)會自動(dòng)將浮動(dòng)元素計(jì)算在內(nèi)。

        3、BFC可以阻止元素被浮動(dòng)元素覆蓋

        什么是BFC?有什么用?

        *{margin: 0px; padding: 0px}  .box1{     width: 100px;     height: 100px;     line-height: 100px;     text-align: center;     background-color: rgba(0, 0, 255, 0.5);     border: 1px solid #000;     float: left; } .box2{     width: 200px;     height: 200px;     line-height: 100px;     text-align: center;     background-color: rgba(255, 0, 0, 0.5);     border: 1px solid #000;     /* overflow: hidden; */     /* *zoom: 1; */ }

        從上面看出,當(dāng)元素浮動(dòng)后,會與后面的塊級元素產(chǎn)生相互覆蓋。那怎么解決這個(gè)問題,只要為后面的元素創(chuàng)建一個(gè)BFC。添加overflow屬性到box2上。

        overflow: hidden; *zoom: 1;

        這樣子阻止了浮動(dòng)元素重疊的問題。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品一在线观看| 国产成人精品综合网站| 青青草精品视频| 亚洲国产精品一区二区第一页| 亚洲国产成人久久精品影视| 久久精品a亚洲国产v高清不卡| 思思久久99热免费精品6| 91麻精品国产91久久久久| 国产精品亚洲片在线| 亚洲日韩精品一区二区三区无码| 精品国产黑色丝袜高跟鞋| 91av国产精品| 成人精品在线视频| 久久99精品久久久久久久不卡| 亚洲精品NV久久久久久久久久| 国产午夜精品久久久久九九| 久久久精品一区二区三区| 国产精品v片在线观看不卡| 日韩欧精品无码视频无删节 | 国产精品主播一区二区| 国产大片91精品免费观看不卡| 漂亮人妻被黑人久久精品| 亚洲国产婷婷综合在线精品| 久久狠狠一本精品综合网| 8050免费午夜一级国产精品| 99精品无人区乱码在线观看| 精品一区二区三区波多野结衣| 日本一卡精品视频免费| 亚洲国产精品一区第二页| 无码精品人妻一区二区三区影院 | 精品无码一区二区三区亚洲桃色| 一本色道久久88综合日韩精品| 久久久久人妻一区精品| 国产三级精品三级在专区| 国产精品午夜免费观看网站| 丁香色婷婷国产精品视频| 99免费精品国产| 国产成人精品久久亚洲高清不卡| 91精品国产品国语在线不卡| 777久久精品一区二区三区无码| 亚洲精品性视频|