我的是屬于這種情況
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL4QTO2kzM3AzNx0SO3kjN1EDM4ETMyMDM2EDMy0CO3kDO1YzLcNDM2EDMy8CX4cTO4UjNvw1ZvxmYvwVbvNmLzd2bsJmbj5SNxAjMzV2Zh1Wavw1LcpDc0RHaiojIsJye.png)
按照網上的說法,我就是這個現象了
兩個層box1和box2,box1具有浮動屬性,box2沒有,這時候設定box2的上邊距margin-top沒有效果。
本文向大家描述一下margin-top失效的解決方法,margin-top失效常出現兩種情況來介紹,這裡來和大家分享一下,希望本文的介紹一定會讓你有所收獲。 關于margin-top失效的解決方法 常出現兩種情況: (一)margin-top失效 先看下面代碼: <div> <divclassdivclass="box1">float:left</div> <divclassdivclass="box2">clear:both;margin-top:20px;</div> </div> 網上能找到的兩種比較靠譜的解釋: 1:“在css2.1中,水準的margin不會被折疊;垂直margin可能在一些盒模型中被折疊…” 2:當第一個層浮動,而第二個沒浮動層的margin會被壓縮,詳見--浮動元素後非浮動元素的margin的處理。 得到解決問題思路:要浮動一起浮動,要就一起不浮動。 ◆解決辦法: 1.box2增加float屬性 2.box1與box2之間增加一層"<divstyle="clear:both;"></div>" (二)子元素設定margin-top作用于父容器 <divclassdivclass="box"style="height:100px;background:red;"> <divclassdivclass="box2">clear:both; margin-top:20px;height:50px;width:500px; background:#000;</div> 當給box2設定margin-top時,在ff下僅作用于父容器。 1.給父容器box加overflow:hidden;屬性 2.父容器box加border除none以外的屬性 3.用父容器box的padding-top代替margin-top
我的是這樣解決的:
直接設定父元素的margin-bottom:-20%;
後來為了漂亮,直接讓他們全部浮動了,在橙色的div層使用取消浮動