问答详情
源自:4-2 clear与margin重叠

float和margin

在上一个块元素中加上浮动,下一个块元素清除浮动并加上margin-top,这里的外边距为什么没有展示出来?

提问者:ohitisme 2017-01-05 13:16

个回答

  • weixin_慕标1565747
    2019-04-05 00:01:50

    clear:both是加在父元素内容的底部,你这里都没有父元素,清除哪个的高度塌陷?

  • qq_一桥轻雨一伞开_2
    2017-08-03 00:27:03

    外边距合并(塌陷)问题

  • Hello立国
    2017-01-06 15:35:23

    我也不知道这个问题该怎么解释,但是我在你这2个 div 的上层又添加了一个 div,并设置了 border 后,好像就没什么问题了。但如果不加这个上层 div 的话,貌似 .clrfloat 的 margin-top 确实是不太正常。

    我添加的代码如下:

    <style>

    #box {

        border: 1px solid #333;

    }

    </style>

    <body>

        <div id="box">

            <div class="div00">float</div>

            <div class="clrfloat">hello</div>

        </div>

    </body>

    其它的 CSS 代码跟你的一样。

  • Hello立国
    2017-01-06 13:49:31

    你用的什么浏览器?我在最新版火狐上测试是没有问题的呀。

  • ohitisme
    2017-01-06 13:38:13

    样式表里是这样:

    .div00 {

    width: 50px;

    height: 50px;

    float: left;

    margin-bottom: 50px;

    background-color: blue;

    }

    .clrfloat {

    width: 50px;

    height: 50px;

    margin-top: 200px;

    background-color: red;

    clear: both;

    margin-bottom: 100px;

    }

    文档中的位置是这样的:

    <div class="div00">float</div>

     <div class="clrfloat">hello</div>

    两个div的样式大致就是这样,但是上外边距就一直没有效果

  • Hello立国
    2017-01-06 10:48:11

    能把代码样式给出吗