精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

BFC和IFC怎么在CSS中使用-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)BFC和IFC怎么在CSS中使用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的姜堰網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一 什么是 BFC


和之前所有博文一樣,還是先從What的角度開始介紹,由淺入深的理解BFC。

所謂的 Formatting context(格式化上下文), 它是 W3C CSS2.1 規(guī)范中的一個(gè)概念。

它是頁面中的一塊渲染區(qū)域,并且有一套渲染規(guī)則.

它決定了其子元素將如何定位,以及和其他元素的關(guān)系和相互作用。

而 Block Formatting Contexts (BFC,塊級格式化上下文),就是 一個(gè)塊級元素 的渲染顯示規(guī)則。通俗一點(diǎn)講,可以把 BFC 理解為一個(gè)封閉的大箱子,,容器里面的子元素不會(huì)影響到外面的元素,反之也如此。

BFC的布局規(guī)則如下:


1 內(nèi)部的盒子會(huì)在垂直方向,一個(gè)個(gè)地放置;
2 BFC是頁面上的一個(gè)隔離的獨(dú)立容器;
3 屬于同一個(gè)BFC的 兩個(gè)相鄰Box的 上下margin會(huì)發(fā)生重疊 ;
4 計(jì)算BFC的高度時(shí),浮動(dòng)元素也參與計(jì)算
5 每個(gè)元素的左邊,與包含的盒子的左邊相接觸,即使存在浮動(dòng)也是如此;
6 BFC的區(qū)域不會(huì)與float重疊;

那么如何觸發(fā) BFC呢?只要元素滿足下面任一條件即可觸發(fā) BFC 特性:

  1. body 根元素;

  2. 浮動(dòng)元素:float 不為none的屬性值;

  3. 絕對定位元素:position (absolute、fixed)

  4. display為: inline-block、table-cells、flex

  5. overflow 除了visible以外的值 (hidden、auto、scroll)

二 BFC的特性及應(yīng)用

接下來介紹BFC常見的特性和應(yīng)用,這一部分 在解釋原因時(shí),會(huì)用到上文的布局規(guī)則 和 觸發(fā)條件,所以需要注意一下。

1 兩個(gè) 相鄰的普通流中的 塊元素垂直方向上的 margin會(huì)折疊


.p {  
  width:200px;  
  height:50px;  
  margin:50px 0;  
  background-color:red;  
}  



   
      
  

效果圖是:

BFC和IFC怎么在CSS中使用

根據(jù)BFC規(guī)則的第3條:

盒子垂直方向的距離由margin決定,

屬于 同一個(gè)BFC的 + 兩個(gè)相鄰Box的 + 上下margin 會(huì)發(fā)生重疊。

上文的例子 之所以發(fā)生外邊距折疊,是因?yàn)樗麄?同屬于 body這個(gè)根元素, 所以我們需要讓 它們 不屬于同一個(gè)BFC,就能避免外邊距折疊:

        
  
.wrap {  
  overflow:hidden;  

.p {  
  width:200px;  
  height:50px;  
  margin:50px 0;  
  background-color:red;

效果圖是:

BFC和IFC怎么在CSS中使用

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

正常情況下,浮動(dòng)的元素會(huì)脫離普通文檔流,所以下面的代碼里:


    
    

外層的div會(huì)無法包含 內(nèi)部浮動(dòng)的div,效果見下圖:

BFC和IFC怎么在CSS中使用

但如果我們 觸發(fā)外部容器的BFC,根據(jù)BFC規(guī)范中的第4條:計(jì)算BFC的高度時(shí),浮動(dòng)元素也參與計(jì)算,那么外部div容器就可以包裹著浮動(dòng)元素,所以只要把代碼修改如下:


    

就可以完成以下效果:

BFC和IFC怎么在CSS中使用

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

先看一個(gè)例子:

  
  

div {  
  width:300px;  
}  
.aside {  
  width: 100px;  
  height: 150px;  
  float: left;  
  background: black;  
}  
.main {  
  height:200px;  
  background-color:red;  
}

效果圖是:

BFC和IFC怎么在CSS中使用

之所以是這樣,是因?yàn)樯衔牡?規(guī)則5: 每個(gè)元素的左邊,與包含的盒子的左邊相接觸,即使存在浮動(dòng)也是如此;

所以要想改變效果,使其互補(bǔ)干擾,就得利用規(guī)則6 :BFC的區(qū)域不會(huì)與float重疊,讓

也能觸發(fā)BFC的性質(zhì),即:

.main {  
  overflow:hidden;  
  height:200px;  
  background-color:red;  
}

通過這種方法,就能 用來實(shí)現(xiàn) 兩列的自適應(yīng)布局。

三 簡要介紹IFC

IFC布局規(guī)則:

1 框會(huì)從包含塊的頂部開始,一個(gè)接一個(gè)地水平擺放。

2 擺放這些框時(shí),它們在水平方向的 內(nèi)外邊距+邊框 所占用的空間都會(huì)被考慮;在垂直方向上,這些框可能會(huì)以不同形式來對齊:水平的margin、padding、border有效,垂直無效。不能指定寬高;

3 行框的寬度是 由包含塊和存在的浮動(dòng)來決定;行框的高度 由行高來決定

以上就是BFC和IFC怎么在CSS中使用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:BFC和IFC怎么在CSS中使用-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://m.jcarcd.cn/article/ddpiee.html

其他資訊

主站蜘蛛池模板: 午夜家庭影 | 国产乱子伦精品视频 | 国产福利在线观看永 | 国产精品再线线观看 | 日本啊在线观看 | 国产一区国产二 | 成人影院免费观看 | 久色福利 | 国产福利导航在线 | 国产末成年女噜噜 | 91视频| 国产老子午夜福利 | 午夜福利电影网 | 日韩αV视频在线 | 国产午夜视频专区 | 91伊人影院| 午夜日韩一级 | 欧美在线视频第一页 | 福利所第一导航 | 日韩高清精品在线 | 欧美一级日韩国产 | 午夜激情影 | 国产精品欧 | 区水蜜桃在线观看 | 精品精品欲天堂导航 | 国产综合第1页国产 | 日韩和欧美一久 | 日本电影中文字 | 日韩美女欧美精品 | 片一级二级 | 欧美一级日 | 丝袜在线播放 | 午夜福利影视 | 韩国电影在线观看 | 国产大片好看免费 | 青青导航 | 国产亚洲精品导航 | 国内视频日韩顶级片 | 国产欧洲日 | 日韩午夜成 | 1000部丰满熟女 |