解決margin-top或者margin-bottom無(wú)效的問(wèn)題

問(wèn)題: 給一個(gè)div添加margin-top發(fā)現(xiàn)效果作用在了父元素上,就是說(shuō),看起來(lái)是父元素加了margin
html:

<body>
  <div class="partner">
    <div class="child"></div>
  </div>
</body>

style:

body{
      background:#dddddd;
      margin:0;
      padding: 0;
    }
    .partner{
      width:200px;
      height:200px;
      background:pink
    }
    .child{
      width:100px;
      height:100px;
      background:burlywood;
    }

此時(shí)沒(méi)加margin,效果圖如下:

未加margin

此時(shí)div緊靠在左上角。

.child添加margin-top:30px之后,我們?cè)O(shè)想的是子元素與父元素之間會(huì)有30px的間距,查看下方效果圖發(fā)現(xiàn),明顯與我們?cè)O(shè)想不一致

添加margin-top

此時(shí)發(fā)現(xiàn),父元素上方出現(xiàn)30px的距離。
原因:
所有毗鄰的兩個(gè)或更多盒元素的margin將會(huì)合并為一個(gè)margin共享之。毗鄰的定義為:同級(jí)或者嵌套的盒元素,并且它們之間沒(méi)有非空內(nèi)容、 Padding或Border分隔。 CSS2.1規(guī)定浮動(dòng)元素和絕對(duì)定位元素不參與Margin折疊
如何解決?
既然已經(jīng)知道是margin發(fā)生了重疊,并且知道了浮動(dòng)元素和絕對(duì)定位元素不會(huì)出現(xiàn)margin折疊,那就讓他們變成浮動(dòng)或者定位元素就好了呀
所以,我們可以用padding代替margin,或者給父元素加border讓兩個(gè)元素分隔開(kāi),再或者你可以試試float、overflow、position

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,803評(píng)論 1 45
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,119評(píng)論 1 92
  • 一、CSS入門(mén) 1、css選擇器 選擇器的作用是“用于確定(選定)要進(jìn)行樣式設(shè)定的標(biāo)簽(元素)”。 有若干種形式的...
    寵辱不驚丶?xì)q月靜好閱讀 1,720評(píng)論 0 6
  • 本課來(lái)自http://www.imooc.com/learn/9請(qǐng)不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,447評(píng)論 0 5
  • 下雪天對(duì)于孩子來(lái)說(shuō)可是一件特別高興的事,又可盡情地玩雪了。剛吃完飯就想出去玩一會(huì)兒,我說(shuō)早晨外面有點(diǎn)冷,稍微暖...
    侯耀斐媽媽閱讀 369評(píng)論 0 3

友情鏈接更多精彩內(nèi)容