日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅谈BFC和IFC

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈BFC和IFC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先說說FC,FC的含義就是Fomatting Context。它是CSS2.1規范中的一個概念。

它是頁面中的一塊渲染區域。而且有一套渲染規則,它決定了其子元素將怎樣定位。以及和其它元素的關系和相互作用。BFC和IFC都是常見的FC。

分別叫做Block Fomatting Context 和Inline Formatting Context。


BFC

BFC(Block Formatting Context)叫做“塊級格式化上下文”。BFC的布局規則例如以下: 1.內部的盒子會在垂直方向,一個個地放置; 2.盒子垂直方向的距離由margin決定,屬于同一個BFC的兩個相鄰Box的上下margin會發生重疊; 3.每一個元素的左邊,與包括的盒子的左邊相接觸,即使存在浮動也是如此; 4.BFC的區域不會與float重疊; 5.BFC就是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面的元素。反之也如此; 6.計算BFC的高度時,浮動元素也參與計算。


介紹過了BFC的布局規范,再來說說哪些元素會產生BFC。 1.根元素。 2.float的屬性不為none; 3.position為absolute或fixed; 4.display為inline-block。table-cell,table-caption。flex; 5.overflow不為visible
接下來說說BFC的作用和原理 首先看看自適應兩欄布局 我們先定義兩個div:
<div class="aside"></div> <div class="main"></div>

然后定義css:
div {width:300px; } .aside {width: 100px;height: 150px;float: left;background: black; } .main {height:200px;background-color:red; }
效果圖例如以下:

這正滿足了規范的第三條: 每一個元素的左邊,與包括的盒子的左邊相接觸。即使存在浮動也是如此


所以假設我們須要將黑色區域撐到紅色的左邊。就須要利用規范的第四條: BFC的區域不會與float重疊。
也就是說我們須要創造BFC區域。我們通過將紅色區域的overflow設為hidden來觸發BFC:
.main {overflow:hidden;height:200px;background-color:red; }
效果例如以下:

完整代碼鏈接: http://codepen.io/brizer/pen/yNxEbK


接下來看看清除內部浮動 首先是父div套子div
<div class="parent"><div class="child"></div> </div>
然后是css: .child {border:1px solid red;width:100px;height:100px;float:left; } .parent {border:1px solid black;width:300px; }
效果例如以下:
能夠看到,父div壓根就沒有被撐開。 我們再回想一下BFC規范中的第六條: 計算BFC的高度時,浮動元素也參與計算



所以我們須要將父div觸發為BFC,也就是將其overflow設為hidden: .parent {border:1px solid black;width:300px;overflow:hidden; }
效果例如以下:
能夠看到父div已經撐開了。

再談談margin重疊問題。 先定義兩個垂直的div: <div class="p"></div> <div class="p"></div>
然后定義margin: .p {width:200px;height:50px;margin:50px 0;background-color:red; }
能夠看到margin重疊后的效果:


我們再看看BFC規范的第二條: 盒子垂直方向的距離由margin決定,屬于用一個BFC的兩個相鄰Box的上下margin會發生重疊


說明兩者屬于同一個BFC,所以我們須要兩個div不屬于同一個BFC。


為第二個div套一個父親div。然后講其overflow設為hidden來激活一個BFC就能夠使margin不再重疊。 <div class="p"></div> <div class="wrap"><div class="p"></div> </div>
.wrap {overflow:hidden; }
效果例如以下:









總結

以上是生活随笔為你收集整理的浅谈BFC和IFC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲AV午夜精品 | 一区二区日韩欧美 | 欧美性猛交xxx乱久交 | 欧美成人免费视频 | 国产在线拍揄自揄拍无码视频 | 午夜肉体高潮免费毛片 | 女人裸体无遮挡 | 国产精品乱 | 国产精品久久久久国产a级 国产一区二区在线播放 | 视频在线 | 日本免费福利视频 | 精品国产91乱码一区二区三区 | 久色资源 | 丰满人妻一区二区三区大胸 | 国产欧美一区二区三区精品酒店 | 欧美日韩国语 | 国精产品一区一区三区视频 | av在线播放中文字幕 | 日韩少妇视频 | 欧美xxxx性xxxxx高清 | 尤物国产在线 | 蜜桃麻豆视频 | 日韩人妻精品在线 | 波多野结衣家庭主妇 | 伊人网久久久 | 致命弯道8在线观看免费高清完整 | av在线免费观看网站 | 求免费黄色网址 | www狠狠爱| 波多在线视频 | 成人av一区二区三区在线观看 | 国产一卡二卡三卡 | 制服丝袜天堂网 | 黄色的网站免费看 | 日韩一区在线看 | 白白色2012年最新视频 | 在线免费播放av | 久久久av一区二区三区 | 182tv福利视频 | 天天干,夜夜爽 | 在线观看日韩一区二区 | 青青一区二区 | 中文字幕av专区dvd | 操操操爽爽爽 | 七七色影院 | 国产成人av网站 | 欧美中文视频 | www夜夜| 久久av秘一区二区三区 | 成人精品亚洲 | 在线看一级片 | 一区视频在线播放 | 亚洲毛片在线观看 | 亚洲综合欧美 | freesexvideos第一次| 在线免费观看av不卡 | 国产精品一区二区三区免费视频 | 亚洲天堂网视频 | 91导航| 国产又粗又长又黄的视频 | 高清免费视频日本 | 欧美粗暴jizz性欧美20 | 性色av蜜臀av | 91久久免费 | 色悠悠久久综合 | 日韩精品一区二区在线观看 | 久久青草免费视频 | 国产传媒在线观看 | 免费av黄色 | 午夜丰满寂寞少妇精品 | 久久成年视频 | 女生张开腿让男生插 | 亚洲免费精品视频 | 日韩av免费在线观看 | 乌克兰做爰xxxⅹ性视频 | 嫩草伊人久久精品少妇av | 看免费毛片 | 日韩成人一级 | 国产一二三四五区 | 长篇乱肉合集乱500小说日本 | www.com国产| 在线观看 亚洲 | 成人自拍网 | 观看av免费 | 伊人中文字幕在线观看 | 一区二区在线 | 美女色av | 777视频在线观看 | 欧美性猛交99久久久久99按摩 | 国产成年人网站 | 色哟哟在线免费观看 | 男人操女人的软件 | 乳女教师の诱惑julia | 一级黄色片免费播放 | 日韩一区二区三区视频 | 欧美日韩在线视频 | 国产精品天干天干 | www夜夜 | 久久鲁视频 |