margin塌陷問題及解決方法

一:什么是margin塌陷 饲做?
在標(biāo)準(zhǔn)文檔流中逼纸,豎直方向(左右方向的不會(huì)出現(xiàn)塌陷現(xiàn)象)的margin會(huì)出現(xiàn)疊加現(xiàn)象嗅蔬,即較大的margin會(huì)覆蓋掉較小的margin歌亲,豎直方向的兩個(gè)盒子中間只有一個(gè)較大的margin值菇用,這就是margin的塌陷現(xiàn)象。

二:margin塌陷分類 陷揪?
(1)兄弟盒子之間的塌陷問題惋鸥。
(2)父子盒子之間的塌陷問題。

三:詳細(xì)分析
(1)兄弟盒子之間的塌陷問題
比如下面兩個(gè)盒子模型排列:

<body>
         <div style="width:400px;height:100px;background:#ea8080;margin-bottom:30px;color:#fff;text-align:center;line- height:100px;">層1</div>
         <div style="width:400px;height:100px;background:#f6adad;margin-top:20px;color:#fff;text-align:center; line-height:100px;">層2</div>
 </body>

本來我們以為上面的盒子設(shè)置了margin-bottom的值悍缠,下面的盒子模型中設(shè)置了margin-top值卦绣,兩者之間的距離應(yīng)該是(30px+20px=50px),但是結(jié)果兩都之間的距離是30px如下面的圖所示:


margin塌陷問題.jpg

遇到這樣的情況,兩個(gè)兄弟盒子之間的間距應(yīng)該是按照其中比較大的那個(gè)值來取飞蚓。

解決方案:
在層2那層再包裹一層滤港,設(shè)置屬性overflow:hidden,這樣上下之間的距離就是50px了趴拧。代碼如下:

<div style="width:400px;height:100px;background:#ea8080;margin-bottom:30px;color:#fff;text-align:center;line-height:100px;">層1</div>
<div style="overflow:hidden;">
                <div style="width:400px;height:100px;background:#f6adad;margin-top:20px;color:#fff;text-align:center;line-height:100px;">層2</div>
</div>

但是這樣的弊端就是改變了HTML結(jié)構(gòu),在開發(fā)中是不能采用的溅漾。所以最好的方式是只設(shè)置層1的margin-bottom值或是 margin-top值。

(2)父子盒子之間的塌陷問題
比如下面兩個(gè)盒子模型排列:


父子盒子.jpg
   <style>
       .box1 {
           width: 300px;
           height: 300px;
           background: #ec8180;
       }
       
       .box2 {
           width: 200px;
           height: 200px;
           background: #f7aeaf;
           margin-top: 50px;
       }
   </style>
<body>
   <div class="box1">
       <div class="box2">
       </div>
   </div>
</body>

當(dāng)給box2層增加樣式margin-top:50的時(shí)候著榴,并沒有看到父盒子與子盒子之間會(huì)有間距50px的距離樟凄,而是在父盒子上面會(huì)發(fā)現(xiàn)50px的間距如下圖所示:


父子盒子塌陷.jpg

解決方案:
(1)給父元素father添加一個(gè)border邊框,比如給box1添加樣式:border:1px solid transparent這種方式造成貼合的樣子兄渺;
(2)給父元素添加一個(gè)overflow: hidden;
(3)給父元素添加一個(gè)position: fixed;
(4)給父元素添加一個(gè)display: table;
(5)將子元素都margin改為父元素的padding
(6)給子元素son添加一個(gè)兄弟元素屬性為content:"";overflow: hidden;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缝龄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挂谍,更是在濱河造成了極大的恐慌叔壤,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件口叙,死亡現(xiàn)場離奇詭異炼绘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)妄田,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門俺亮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驮捍,“玉大人,你說我怎么就攤上這事脚曾《遥” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵本讥,是天一觀的道長珊泳。 經(jīng)常有香客問我,道長拷沸,這世上最難降的妖魔是什么色查? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮撞芍,結(jié)果婚禮上秧了,老公的妹妹穿的比我還像新娘。我一直安慰自己序无,他們只是感情好示惊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著愉镰,像睡著了一般米罚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丈探,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天录择,我揣著相機(jī)與錄音,去河邊找鬼碗降。 笑死隘竭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讼渊。 我是一名探鬼主播动看,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼爪幻!你這毒婦竟也來了菱皆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤挨稿,失蹤者是張志新(化名)和其女友劉穎仇轻,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奶甘,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篷店,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了臭家。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疲陕。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡方淤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蹄殃,到底是詐尸還是另有隱情携茂,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布窃爷,位于F島的核電站,受9級特大地震影響姓蜂,放射性物質(zhì)發(fā)生泄漏按厘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一钱慢、第九天 我趴在偏房一處隱蔽的房頂上張望逮京。 院中可真熱鬧,春花似錦束莫、人聲如沸懒棉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽策严。三九已至,卻和暖如春饿敲,著一層夾襖步出監(jiān)牢的瞬間妻导,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工怀各, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留倔韭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓瓢对,卻偏偏與公主長得像寿酌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子硕蛹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1.添加圓角效果 border-radius:10px 20px 15px 25px 左上醇疼,右上,右下法焰,左下僵腺。 b...
    淡然回眸_a548閱讀 425評論 0 0
  • CSS學(xué)習(xí) 1. 繼承 標(biāo)簽未設(shè)置的屬性會(huì)繼承父標(biāo)簽設(shè)置了的屬性,父標(biāo)簽未設(shè)置屬性會(huì)繼承父標(biāo)簽的父標(biāo)簽的屬性壶栋,以此...
    林煒康閱讀 132評論 0 0
  • 作者:北風(fēng)菌 鏈接:https://juejin.im/post/6876623829574090760 來源:掘...
    碼匠編程閱讀 381評論 0 0
  • 什么是盒子贵试? CSS處理網(wǎng)頁時(shí)琉兜,它認(rèn)為每個(gè)元素都包含在一 個(gè)不可見的盒子里凯正。 我們只需要將相應(yīng)的盒子擺放到網(wǎng)頁中相...
    咻咻咻滴趙大妞閱讀 908評論 0 0
  • 1.CSS三大特性 1.1 層疊性 作用:相同選擇器設(shè)置相同樣式,此時(shí)一個(gè)樣式會(huì)覆蓋另一個(gè)沖突的樣式豌蟋,主要解決樣式...
    OohMuYi閱讀 386評論 0 0