這篇文章給大家分享的是有關(guān)如何解決margin-top塌陷的問(wèn)題的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
什么是margin-top塌陷
margin-top塌陷是在CSS的盒子模型中出現(xiàn)的一種現(xiàn)象,描述的是當(dāng)父元素包裹著一個(gè)子元素的時(shí)候,當(dāng)給子元素設(shè)置margin-top屬性時(shí),此時(shí)只是想讓子元素的邊框距離父元素邊框有一段距離,而卻出現(xiàn)了父元素的頂端距離body這個(gè)邊框出現(xiàn)了位移,這就是margin-top塌陷的現(xiàn)象。
在未給子元素(綠色部分)添加margin-top屬性的時(shí)候,網(wǎng)頁(yè)如下圖顯示:
但是當(dāng)給子元素加上margin-top屬性的時(shí)候網(wǎng)頁(yè)顯示就變成了如下圖所示:
你會(huì)發(fā)現(xiàn),子元素的邊界與父元素(黃色部分)的邊界距離并沒(méi)有增大,反而是父元素的上邊界與瀏覽器上邊界的距離增大了,也就是父元素帶著子元素一起下移了一段距離,經(jīng)過(guò)檢查,這段距離也正好等于我們給子元素設(shè)置的margin-top的屬性值,這就是margin-top塌陷的現(xiàn)象。
怎么解決margin-top塌陷
對(duì)于margin-top的塌陷問(wèn)題,可以從以下幾點(diǎn)去解決,親測(cè)有效:
1.給父元素增加邊框
為了不影響原先的圖像效果,可以將邊框顏色設(shè)置為白色(與瀏覽器背景顏色一致)
2.溢出隱藏
在父元素的style里面添加overflow:hidden;
3.利用浮動(dòng)
給父元素的style添加浮動(dòng),但是這種方法不推薦使用。因?yàn)闀?huì)帶來(lái)未知的錯(cuò)誤
4.給父元素添加position:fixed;
這里用到了定位的知識(shí),將父元素顯示在固定位置,就不會(huì)受margin-top塌陷的問(wèn)題影響
5.給父元素設(shè)置display:table;
6.使用偽元素
偽元素之所以被稱(chēng)為偽元素,就是因?yàn)樗麄儾皇钦嬲捻?yè)面元素,html沒(méi)有與之對(duì)應(yīng)的元素,但是其用法和表現(xiàn)行為和真正的元素一樣,所以被成為偽元素。
.clearfix::before{ content: ”; display: table; }
.clearfix 是給父元素增加的另外一個(gè)類(lèi)名,這是我們推薦的解決辦法,既能解決margin-top塌陷問(wèn)題,又不會(huì)出現(xiàn)其他附加的未知錯(cuò)誤。
確定了解決方案以后,現(xiàn)在來(lái)看看最終的結(jié)果,如下圖:
可以看見(jiàn),現(xiàn)在的位置是子元素相對(duì)于父元素在移動(dòng),而不會(huì)對(duì)父元素的位置造成什么影響了。
下面附上調(diào)試代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>10-margin-top塌陷</title> <style> .clearfix::before{ content: ''; display: table; } .box{ width: 200px; height: 200px; background-color: gold; margin:0px auto; } .con{ width: 100px; height: 50px; background-color: green; margin-top: 100px; } </style> </head> <body> <div class="box clearfix"> <div class="con"></div> </div> </body> </html>
感謝各位的閱讀!關(guān)于“如何解決margin-top塌陷的問(wèn)題”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)頁(yè)標(biāo)題:如何解決margin-top塌陷的問(wèn)題-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article44/dcpeee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、定制開(kāi)發(fā)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容