前端培训之为什么2个相邻div的margin只有1个生效

前端培训学习中当我们学习到div盒子制作的时候,通常我们会用到margin来调整盒子的外边距,让其在页面中和相邻的元素盒子有一定的距离,使得前端页面更加美观。但是在前端培训过程中有时我们练习的时候通常会出现,代码编写和实际情况不符的我问题。

方法

.box1{

margin:10px 0;

}

.box2{

margin:20px 0;

}

<div class=”box1″>box1</div>

<div class=”box2″>box2</div>

本例中box1的底部margin为10px,box2的顶部margin为20px,但表现在页面上2者之间的间隔为20px,而不是预想中的10+20px=30px,结果是选择2者之间最大的那个margin,我们把这种机制称之为“外边距合并”;外边距合并不仅仅出现在相邻的元素间,父子间同样会出现。简单列举几点注意事项: 

1.外边距合并只出现在块级元素上; 

2.浮动元素不会和相邻的元素产生外边距合并;

3.绝对定位元素不会和相邻的元素产生外边距合并; 

4.内联块级元素间不会产生外边距合并;

5.根元素间不会不会产生外边距合并(如html与body间);

6.设置了属性overflow且值不为visible的块级元素不会与它的子元素发生外边距合并;


上一篇:
下一篇:
关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园综合楼6层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)