格式化上下文雜談


皇帝的金斧頭
我基本對(duì)css沒有系統(tǒng)的學(xué)習(xí)受啥,都是在平常中寫html與js中積累下來的知識(shí)躲履,如有錯(cuò)誤念秧,希望能提出淤井,同時(shí)有疑惑可以交流,下文是我看了4天bfc中濃縮的觀點(diǎn)。
布局的思考
布局主要通過定位體系實(shí)現(xiàn)币狠,定位體系決定著框的擺放游两。一門語言就像一種工具,不但能干活漩绵,人用著得舒服贱案,總不能制作一個(gè)扳手,你往左扳止吐,螺絲向右旋吧宝踪。
對(duì)css的定位體系來說,三種定位方式就是工具碍扔,使框能擺放到需要的位置瘩燥,實(shí)現(xiàn)了布局,常規(guī)流定位使元素自動(dòng)流動(dòng)到所需位置不同,浮動(dòng)使周圍元素環(huán)繞厉膀,絕對(duì)定位硬性規(guī)定元素的位置。通過定位機(jī)制二拐,元素能擺放到某個(gè)位置服鹅。這是能干活了,但是百新,有時(shí)候用著卻不舒服企软。

圖1-1

圖片1-1

如圖1-1,發(fā)現(xiàn)box_2的布局與box_1存在了margin吟孙,但是也受到box子元素inner的影響澜倦。這個(gè)就不符合人類直覺了,明明代碼存在了層次關(guān)系杰妓,但實(shí)現(xiàn)時(shí)子元素作為浮動(dòng)元素藻治,溢出了父元素的框架,對(duì)頁面其他元素造成影響巷挥。所以必須對(duì)定位體系進(jìn)行改進(jìn)以實(shí)現(xiàn)可控且清晰的布局桩卵。所以就引入了bfc的概念,在很多文章中都是把bfc形容成一個(gè)容器倍宾,容器內(nèi)外元素互不干擾雏节。所以進(jìn)行容器布局時(shí),只需考慮父子高职、兄弟關(guān)系了钩乍,


以下是一些個(gè)人分析,適合有bfc基礎(chǔ)的同學(xué)思考怔锌。
我認(rèn)為規(guī)則就只有兩點(diǎn):
1寥粹、bfc元素是容器变过,那必定會(huì)產(chǎn)生隔離,隔離是對(duì)子元素的隔離涝涤,所以子元素的margin不與容器margin合并媚狰;
2、bfc不會(huì)發(fā)生框重疊阔拳;兄弟關(guān)系的兩個(gè)bfc崭孤,如果其中存在浮動(dòng)框,就左右擺放糊肠,如果是父子關(guān)系的兩個(gè)bfc辨宠,就通過包含關(guān)系,所以這就是bfc能計(jì)算框內(nèi)浮動(dòng)元素高度的原因了罪针。
其他bfc的規(guī)則彭羹,你不難發(fā)現(xiàn)其實(shí)是常規(guī)流的布局規(guī)則,因?yàn)閎fc也是屬于常規(guī)流泪酱,繼承規(guī)則的同時(shí)進(jìn)行了擴(kuò)展派殷。
可能有些同學(xué)對(duì)bfc的margin合并存在理解的偏差,可看如何解決外邊距疊加的問題這個(gè)討論墓阀,一定要看評(píng)論的內(nèi)容毡惜,看完基本不難理解bfc與margin合并這兩個(gè)概念了。


每日小問
2016年1月1日23:15:06

#div1{width: 200px; height: 200px;overflow:hidden;margin:20px;background:#AA0;}
#div2{width:200px; height: 200px;overflow:hidden;margin:20px;background:#0AA;}
<div id='div1'></div>
<div id='div2'></div>

這里兩個(gè)div間距離多少斯撮,為什么经伙?

#container{width: 300px;height: 300px;float: left;}
#div1{width: 200px; height: 200px;float: left;;margin:20px;background:#AA0;}
#div2{width:200px; height: 200px;float: left;;margin:20px;background:#0AA;}
<div id='container'>
    <div id='div1'></div>
    <div id='div2'></div>
</div>

這里兩個(gè)div間距離多少,為什么勿锅?

答案在明天的文章中帕膜。


歡迎指出文章的錯(cuò)誤,如有對(duì)文章觀點(diǎn)有疑惑希望能提出互相交流溢十。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末垮刹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子张弛,更是在濱河造成了極大的恐慌荒典,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吞鸭,死亡現(xiàn)場(chǎng)離奇詭異寺董,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刻剥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門遮咖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人造虏,你說我怎么就攤上這事御吞√咝担” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵魄藕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我撵术,道長(zhǎng)背率,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任嫩与,我火速辦了婚禮寝姿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘划滋。我一直安慰自己饵筑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布处坪。 她就那樣靜靜地躺著根资,像睡著了一般。 火紅的嫁衣襯著肌膚如雪同窘。 梳的紋絲不亂的頭發(fā)上玄帕,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音想邦,去河邊找鬼裤纹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛丧没,可吹牛的內(nèi)容都是我干的鹰椒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呕童,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼漆际!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拉庵,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤灿椅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后钞支,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茫蛹,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年烁挟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了婴洼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撼嗓,死狀恐怖柬采,靈堂內(nèi)的尸體忽然破棺而出欢唾,到底是詐尸還是另有隱情,我是刑警寧澤粉捻,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布礁遣,位于F島的核電站,受9級(jí)特大地震影響肩刃,放射性物質(zhì)發(fā)生泄漏祟霍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一盈包、第九天 我趴在偏房一處隱蔽的房頂上張望沸呐。 院中可真熱鬧,春花似錦呢燥、人聲如沸崭添。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呼渣。三九已至,卻和暖如春力试,著一層夾襖步出監(jiān)牢的瞬間徙邻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工畸裳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缰犁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓怖糊,卻偏偏與公主長(zhǎng)得像帅容,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子伍伤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案并徘? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92
  • 什么是BFC BFC全稱是Block Formatting Context,即塊格式化上下文扰魂。它是CSS2.1規(guī)范...
    clfeng閱讀 466評(píng)論 0 0
  • relative:生成相對(duì)定位的元素麦乞,通過top,bottom,left,right的位置相對(duì)于其正常位置進(jìn)行定位...
    zx9426閱讀 943評(píng)論 0 2
  • 一、BFC是什么劝评? 它是 Block Formatting Context (塊級(jí)格式化上下文) 的簡(jiǎn)稱姐直,接下來通...
    07120665a058閱讀 3,805評(píng)論 15 40
  • BFC(塊級(jí)格式化上下文) @(CSS)[CSS|BFC] [TOC]已經(jīng)是一個(gè)耳聽熟聞的詞語了,網(wǎng)上有許多關(guān)于 ...
    dr2009閱讀 17,802評(píng)論 3 61