如何解決margin-top塌陷的問題-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)如何解決margin-top塌陷的問題的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),康平企業(yè)網(wǎng)站建設(shè),康平品牌網(wǎng)站建設(shè),網(wǎng)站定制,康平網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,康平網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

什么是margin-top塌陷

margin-top塌陷是在CSS的盒子模型中出現(xiàn)的一種現(xiàn)象,描述的是當(dāng)父元素包裹著一個子元素的時候,當(dāng)給子元素設(shè)置margin-top屬性時,此時只是想讓子元素的邊框距離父元素邊框有一段距離,而卻出現(xiàn)了父元素的頂端距離body這個邊框出現(xiàn)了位移,這就是margin-top塌陷的現(xiàn)象。

在未給子元素(綠色部分)添加margin-top屬性的時候,網(wǎng)頁如下圖顯示:

如何解決margin-top塌陷的問題

但是當(dāng)給子元素加上margin-top屬性的時候網(wǎng)頁顯示就變成了如下圖所示:

如何解決margin-top塌陷的問題

你會發(fā)現(xiàn),子元素的邊界與父元素(黃色部分)的邊界距離并沒有增大,反而是父元素的上邊界與瀏覽器上邊界的距離增大了,也就是父元素帶著子元素一起下移了一段距離,經(jīng)過檢查,這段距離也正好等于我們給子元素設(shè)置的margin-top的屬性值,這就是margin-top塌陷的現(xiàn)象。

怎么解決margin-top塌陷

對于margin-top的塌陷問題,可以從以下幾點去解決,親測有效:

1.給父元素增加邊框

為了不影響原先的圖像效果,可以將邊框顏色設(shè)置為白色(與瀏覽器背景顏色一致)

2.溢出隱藏

在父元素的style里面添加overflow:hidden;

3.利用浮動

給父元素的style添加浮動,但是這種方法不推薦使用。因為會帶來未知的錯誤

4.給父元素添加position:fixed;

這里用到了定位的知識,將父元素顯示在固定位置,就不會受margin-top塌陷的問題影響

5.給父元素設(shè)置display:table;

6.使用偽元素

偽元素之所以被稱為偽元素,就是因為他們不是真正的頁面元素,html沒有與之對應(yīng)的元素,但是其用法和表現(xiàn)行為和真正的元素一樣,所以被成為偽元素。

.clearfix::before{ 
content: ”; 
display: table; 
}

.clearfix 是給父元素增加的另外一個類名,這是我們推薦的解決辦法,既能解決margin-top塌陷問題,又不會出現(xiàn)其他附加的未知錯誤。

確定了解決方案以后,現(xiàn)在來看看最終的結(jié)果,如下圖:

如何解決margin-top塌陷的問題

可以看見,現(xiàn)在的位置是子元素相對于父元素在移動,而不會對父元素的位置造成什么影響了。

下面附上調(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塌陷的問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)頁標(biāo)題:如何解決margin-top塌陷的問題-創(chuàng)新互聯(lián)
本文鏈接:http://muchs.cn/article44/dcpeee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站導(dǎo)航定制開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)