第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為何子元素的margin-top會(huì)傳遞給父元素?

為何子元素的margin-top會(huì)傳遞給父元素?

森林海 2019-04-09 20:24:02
如下面所示,child的margin-top傳遞到了parent上,這是為何?這應(yīng)該是跟垂直margin的合并機(jī)制有關(guān),這種父子之間的合并的規(guī)則是怎樣的?demo#parent{background:red;width:200px;height:200px;}#child{background:green;width:50px;height:50px;margin-top:50px;}
查看完整描述

2 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。
合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。
比較淺的規(guī)則詳見:w3schoolCSS外邊距合并。
以下皆為這里部分內(nèi)容的引用,其實(shí)是W3C的相應(yīng)規(guī)則的翻譯。
margin折疊的產(chǎn)生有幾個(gè)條件:
這些margin都處于普通流中,并在同一個(gè)BFC中;
這些margin沒有被非空內(nèi)容、padding、border或clear分隔開;
這些margin在垂直方向上是毗鄰的,包括以下幾種情況:
1、一個(gè)box的topmargin與第一個(gè)子box的topmargin
2、一個(gè)box的bottommargin與最后一個(gè)子box的bottommargin,但須在該box的height為auto的情況下
3、一個(gè)box的bottommargin與緊接著的下一個(gè)box的topmargin
4、一個(gè)box的topmargin與其自身的bottommargin,但須滿足沒創(chuàng)建BFC、零min-height、零或者“auto”的height、沒有普通流的子box
垂直方向上毗鄰的box不會(huì)發(fā)生折疊的情況:
根元素的外邊距不會(huì)參與折疊
一個(gè)有clearance的box的上下margin毗鄰,它會(huì)與緊接著的下一個(gè)box發(fā)生margin折疊,但折疊后的margin不會(huì)再與它們父box的bottommargin折疊
折疊邊距的計(jì)算
當(dāng)兩個(gè)margin都是正值的時(shí)候,取兩者的最大值;當(dāng)margin都是負(fù)值的時(shí)候,取的是其中絕對(duì)值較大的,然后,從0位置,負(fù)向位移;當(dāng)有正有負(fù)的時(shí)候,先取出負(fù)margin中絕對(duì)值中最大的,然后,和正margin值中最大的margin相加。但必須注意,所有毗鄰的margin要一起參與運(yùn)算,不能分步進(jìn)行。
知道了機(jī)制發(fā)生的條件,你應(yīng)該知道如何防止外邊距合并了吧。
關(guān)于BFC和haslayout(IE6/7中類似于BFC的概念),詳見hasLayout&&BlockFormattingContexts的3.3節(jié)。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-09
  • 2 回答
  • 0 關(guān)注
  • 348 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)