国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

CSS布局基礎(chǔ)BFC

2024-07-11 08:38:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

 BFC是什么?

第一次看到這個(gè)名詞,我是拒絕的,css什么時(shí)候還有這個(gè)東西?于是迫不及待的google了一下,才發(fā)現(xiàn)原來(lái)它無(wú)時(shí)無(wú)刻不在我們的css當(dāng)中,只不過(guò)它并不是一個(gè)屬性,不需要我們平常使用手寫罷了。但是它的重要性確是杠杠的,可以這么說(shuō),沒(méi)有它就就沒(méi)有什么css布局 BFC,全稱 Block Formatting Context,翻譯成塊級(jí)格式化上下文,它就是一個(gè)環(huán)境,HTML元素在這個(gè)環(huán)境中按照一定規(guī)則進(jìn)行布局。一個(gè)環(huán)境中的元素不會(huì)影響到其它環(huán)境中的布局。

看一大堆文字可能有點(diǎn)抽象,現(xiàn)在拿個(gè)js函數(shù)來(lái)比喻說(shuō)明一下吧,我們現(xiàn)在有一個(gè)叫做bfc的函數(shù),而一個(gè)函數(shù)就是一個(gè)塊級(jí)作用域,這里面所有的變量申明、運(yùn)行都在這個(gè)塊級(jí)作用域內(nèi)進(jìn)行。理所當(dāng)然,一個(gè)環(huán)境中的變量不會(huì)影響到其它環(huán)境變量。

CSS Code復(fù)制內(nèi)容到剪貼板

 var box =1;   
function bfc(){   
    var box = "2";   
    console.log(box);   
}   
bfc();//2   
console.log(box)//1   

所以,我們是不是可以這樣理解:所謂的BFC就是css屬性的執(zhí)行域?
 
BFC的生成
 
既然js可以通過(guò)函數(shù)等方法來(lái)實(shí)現(xiàn)塊級(jí)作用域,我想那css肯定也是可以通過(guò)一些手段來(lái)實(shí)現(xiàn)BFC的。
 這里BFC的官方文檔寫到:
 
Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with ‘overflow’ other than ‘visible’ (except when that value has been propagated to the viewport) establish new block formatting contexts for their contents.
 
從這段描述可以清楚知道,以下方法可以創(chuàng)建一個(gè)新的塊級(jí)執(zhí)行上下文(BFC):

 1.浮動(dòng)元素、
 2.絕對(duì)定位元素,
 3.塊級(jí)元素以及塊級(jí)容器(比如inline-block、table-cell、table-capation)
 4.overflow值不為visible的塊級(jí)盒子
 
當(dāng)然,root元素會(huì)自動(dòng)生成一個(gè)BFC,這個(gè)應(yīng)該很好理解,畢竟需要一個(gè)根BFC來(lái)布局
 
執(zhí)行規(guī)則
 
既然存在了執(zhí)行環(huán)境,那肯定會(huì)存在執(zhí)行規(guī)則。BFC的
 
1.在一個(gè)塊級(jí)排版上下文中,盒子是從包含塊頂部開(kāi)始,垂直的一個(gè)接一個(gè)的排列的。每個(gè)盒子的左外邊是觸碰到包含塊的左邊的(對(duì)于從右向左的排版,則相反)
 
這個(gè)應(yīng)該不難理解。就是我們?nèi)绻诶飳憥讉€(gè)<div>,它會(huì)依次垂直排列,并且都是在頁(yè)面的最左邊(對(duì)于從右向左的排版,則相反)。
 
2.相鄰兩個(gè)盒子之間的垂直的間距是被margin屬性所決定的,在一個(gè)塊級(jí)排版上下文中相鄰的兩個(gè)塊級(jí)盒之間的垂直margin是折疊的。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湘阴县| 会东县| 山阴县| 滨海县| 巴中市| 洪湖市| 平南县| 密云县| 介休市| 开封县| 台东县| 龙川县| 福海县| 象山县| 金昌市| 深圳市| 郓城县| 永顺县| 竹山县| 右玉县| 师宗县| 阳新县| 临江市| 黎川县| 罗源县| 石楼县| 平邑县| 文水县| 明光市| 资源县| 卢龙县| 安庆市| 从化市| 桓台县| 桂东县| 泗水县| 娄烦县| 芒康县| 道孚县| 封丘县| 石林|