解析外邊距塌陷問題規則


聽說剛開始人們覺得margin 塌陷是個bug,后來漸漸地才發現,原來所有的瀏覽器都這樣,所以就不算bug 

要強調是的外邊距的塌陷問題只會在垂直之間產生塌陷;水平之間不受影響的;

還有就是兩個盒子的垂直外邊距完全接觸才會觸發。 

 

看下面做兩個div,指定寬高:

對上面的進行margin-bottom:30px;

再對下面的盒子進行margin-top:10px后:

從標尺上可見他們之間的間隙僅僅多了30px;原因是垂直之間塌陷的原則是以兩方最大的外邊距為准,這里30為最大的一方,故外邊距只是30px;   

 

但是在一般情況下,垂直兩個盒子出現這種情況下,比較少(並列)形式出現,因為沒什么必要,直接針對一個來外邊距就好,何苦上面給一點,下面給一點外邊距。

出現情況比較多的是,嵌套關系的盒子。急需要我們去解決。

如圖:

對里面的盒子進行margin-top:10px;后會出現這樣狀況:

可見外層div塌陷;

ok,如何解決呢?有兩種方法,當然,看到有人用那里頭的div進行padding空出位置,這里我們換方式,保持原代碼基礎上做動作。

解決方法:

  1. 給大盒子(外層)指定一個邊框。可以解決 (因為外層有border的話,他們兩顯然就不是緊貼在一起的了),如果不希望看到邊框,可以改成背景色(我實驗的背景色是白色)。

 

1
.waichen{border: 1px   solid   #fff ;}

 

  2. 大盒子加溢出css:

 

1
overflow : hidden ;

這樣的話,完美解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM