css中margin元素塌陷问题

css中margin元素塌陷

继承结构的元素,水平与垂直结构上的margin取其最大值

    <div class="box">
        <div class="dad">
            <div class="son"></div>
        </div>
    </div>
.box{
    width: 300px;
    height: 300px;
}
.dad{
    width: 100px;
    height: 100px;
    background: #000;
    margin-top: 50px;
    margin-left: 50px;
}
.son{
    margin-left: 100px;
    /*margin-top: 100px;*/
    width: 50px;
    height: 50px;
    background: blue;
    }
根据上述代码先把margin-top注释掉(效果)

注释之后的效果
我们的蓝色方块根据黑色方块向左移动了100px,很正常,但是当我们将注释的代码打开的时候,根据上面的经验我们预测应该看到的是蓝色的方块到了黑色的方块的右下角
代码取消注释之后
我们可以看到他并没有你找我们预想的那样,蓝色的移动到黑色的右下角,而是黑色的跟着蓝色的下移了50px,当然这就是margin的塌陷问题了,就是这个box好像不能作为dad移动的参照物了,这就是取名为margin塌陷的原因。==在水平和垂直方向上谁大取谁的而且是相对于承载这个元素的元素==


Author: Lelege
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Lelege !
评论
 Previous
MySQL基础(上) MySQL基础(上)
MySQL基础操作1.1创建数据库create database 数据库名 1.2显示数据库Show databases; 1.3删除数据库Drop database 数据库名 创建表的约束条件 约束条件 说明 PRIMARY
2019-12-28
Next 
Java基础知识 Java基础知识
1.汉字编码表地址以及各种编码的区域1.汉字编码2.各种编码范围outer(标签):就相当于表示它现在代表的某个循环。如果想跳出它所代表的循环,那么就break outer;如果想结束它所代表的此次循环,那么就continue outer;
2019-12-09
  TOC