HTML网页开发学习笔记(燕十八)-20 margin重叠

作业:
测试并描述margin重叠的发生条件及现象,并自行搜索父子div也会发生margin重叠,写出代码和效果图

总结:
1.上下/左右相邻的普通元素margin,不是两者相加之和,而是取最大值,这个现象叫做margin重叠。
2. 普通元素才会发生margin重叠,如果是float元素,就不会发生。margin是两者相加之和。

margin重叠代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>20 margin 重叠现象研究</title>
<style>
    #father{
        width:500px;
        height:500px;
        background: grey;
    }
    .child{
        width: 200px;
        height: 200px;
        margin: 50px;
        background: green;
        /*float:left;*/
    }   
</style>
</head>
<body>
    <div id="father">
        <div class="child"></div>
        <div class="child"></div>
    </div>
</body>
</html>

运行效果图如下:
上下相邻元素margin重叠

float元素不发生margin重叠

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>20 margin 重叠现象研究</title>
<style>
    #father{
        width:500px;
        height:500px;
        background: grey;
    }
    .child{
        width: 200px;
        height: 200px;
        margin: 50px;
        background: green;
        float:left;
    }   
</style>
</head>
<body>
    <div id="father">
        <div class="child"></div>
        <div class="child"></div>
    </div>
</body>
</html>

运行效果图如下所示:
不重叠

父子divmargin重叠

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>20 margin 重叠现象研究</title>
<style>
    #father{
        width:500px;
        height:500px;
        background: grey;
        margin:100px;
    }
    #child1{
        width: 100px;
        height: 100px;
        background: red;
/*      float:left;*/
        margin:50px;
    }
    #child2{
        width: 100px;
        height: 100px;
        background: green;
        margin:50px;
/*      float:left;*/
    }   
</style>
</head>
<body>
    <div id="father">
        <div id="child1"></div>
        <div id="child2"></div>
    </div>
</body>
</html>

运行结果如图
这里写图片描述

父子div + float ,不发生margin重叠

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>20 margin 重叠现象研究</title>
<style>
    #father{
        width:500px;
        height:500px;
        background: grey;
        margin:100px;
    }
    #child1{
        width: 100px;
        height: 100px;
        background: red;
        float:left;
        margin:50px;
    }
    #child2{
        width: 100px;
        height: 100px;
        background: green;
        margin:50px;
        float:left;
    }   
</style>
</head>
<body>
    <div id="father">
        <div id="child1"></div>
        <div id="child2"></div>
    </div>
</body>
</html>

如图:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值