为了账号安全,请及时绑定邮箱和手机立即绑定

第三个盒子没有出现margin-top重叠问题,请问是修复了吗?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            .father1,.father2,.father3{
                float: left;
                margin-right: 10px;
            }
            .son1{
                margin-top: 80px;
                background-color: burlywood;
            }
            .father2{
                margin-top: 80px;
            }
            .son3{
                margin-top: 80px;
            }
            .father3{
                margin-top: 80px;
            }
        </style>
    </head>
    <body>
        <div class="father1">
            <div class="son1">我是son1</div>
        </div>
        <div class="father2">
            <div class="son2">我是son2</div>
        </div>
        <div class="father3">
            <div class="son3">我是son3</div>
        </div>
    </body>
</html>

正在回答

5 回答

        事实上,你这里的三个元素都没有发生margin重叠,你把father1和son2加上margin-top,会发现,他们都没有重叠了。margin重叠只发生在普通的block元素上,加上float虽然也会使元素block,但却不是普通的block元素,应该是脱离文档流的block元素,视频前面也说了,float和absolute元素除外。把father1,2,3的float去掉。在每个盒子外面加一个盒子再加上float:left看看吧

0 回复 有任何疑惑可以回复我~

sdfsdfsd

0 回复 有任何疑惑可以回复我~

margin重叠特性第一条就是说:元素为block水平元素(不包括float和absolute元素)

0 回复 有任何疑惑可以回复我~

父级和子级的margin-top都是80px,所以第三个盒子的上外边距就是80px,这就是重叠了呀

0 回复 有任何疑惑可以回复我~

只有一个margin-top。也不会有重叠呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

第三个盒子没有出现margin-top重叠问题,请问是修复了吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信