1 回答

TA貢獻6條經(jīng)驗 獲得超1個贊
margin-top在不同瀏覽器中的表現(xiàn)是不一樣的,很多朋友會發(fā)現(xiàn)有一些小區(qū)別了,下面我們來看一篇關于css父元素與子元素之間的margin-top問題分析與解決辦法整理。
父元素的盒子包含一個子元素盒子,給子元素盒子一個垂直外邊距margin-top,父元素盒子也會往下走margin-top的值,而子元素和父元素的邊距則沒有發(fā)生變化。?
?
html代碼:
<div class="box1">?
<div class="box2"></div>?
</div>
css樣式:
.box1{height:200px;width:200px;background:gray;}?
.box2{height:100px;width:100px;background:gold;margin-top:50px;}
解決方法:
1、修改父元素的高度,增加padding-top樣式模擬(padding-top:1px;常用)?
2、為父元素添加overflow:hidden;樣式即可(完美)?
3、為父元素或者子元素聲明浮動(float:left;可用)?
4、為父元素添加border(border:1px solid transparent可用)?
5、為父元素或者子元素聲明絕對定位
在某些瀏覽器中,當給層內(nèi)元素設置margin-top時,層內(nèi)元素并沒有margin,而是父層出現(xiàn)了margin-top,這往往讓人很費解吧。。
解決辦法有:
1.給父層添加:overflow:hidden;
2.給父層添加:border除none以外的屬性
3.給父層添加:padding-top代替margin-top的效果。

TA貢獻3593條經(jīng)驗 獲得超0個贊

TA貢獻4條經(jīng)驗 獲得超2個贊
添加回答
舉報