CSS中margin-top屬性失效問(wèn)題解決
CSS屬性有很多值得學(xué)習(xí)的地方,你對(duì)CSS中margin-top屬性失效的解決方法是否熟悉,這里和大家分享一下,相信通過(guò)本文的介紹你對(duì)margin-top屬性失效的解決方法一定會(huì)有深刻的認(rèn)識(shí)。
關(guān)于margin-top屬性失效的解決方法
常出現(xiàn)兩種情況:
(一)margin-top失效
先看下面代碼:
- <div>
- <divclassdivclass="box1">float:left</div>
- <divclassdivclass="box2">clear:both;margin-top:20px;</div>
- </div>
兩個(gè)層box1和box2,box1具有浮動(dòng)屬性,box2沒(méi)有,這時(shí)候設(shè)置box2的上邊距margin-top沒(méi)有效果。
網(wǎng)上能找到的兩種比較靠譜的解釋?zhuān)?/p>
1:“在CSS2.1中,水平的margin不會(huì)被折疊;垂直margin可能在一些盒模型中被折疊…”
2:當(dāng)***個(gè)層浮動(dòng),而第二個(gè)沒(méi)浮動(dòng)層的margin會(huì)被壓縮,詳見(jiàn)--浮動(dòng)元素后非浮動(dòng)元素的margin的處理。
得到解決問(wèn)題思路:要浮動(dòng)一起浮動(dòng),要就一起不浮動(dòng)。
解決辦法:
1.box2增加float屬性
2.box1與box2之間增加一層"<divstyle="clear:both;"></div>"
(二)子元素設(shè)置margin-top作用于父容器
- <divclassdivclass="box"style="height:100px;background:red;">
- <divclassdivclass="box2">clear:both;
- margin-top:20px;height:50px;width:500px;
- background:#000;</div>
- </div>
當(dāng)給box2設(shè)置margin-top時(shí),在FF下僅作用于父容器。
解決辦法:
1.給父容器box加overflow:hidden;屬性
2.父容器box加border除none以外的屬性
3.用父容器box的padding-top代替margin-top
【編輯推薦】
- 解決CSS margin-top在火狐下失效問(wèn)題
- 技術(shù)分享 如何實(shí)現(xiàn)CSS橫向?qū)Ш?/a>
- 術(shù)語(yǔ)匯編 基本CSS濾鏡概述
- margin-top失效常見(jiàn)癥狀及解決方法
- 鼠標(biāo)經(jīng)過(guò)時(shí)改變DIV背景顏色的三種途徑