前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >外边距合并

外边距合并

作者头像
bamboo
发布2019-01-29 16:08:18
8280
发布2019-01-29 16:08:18
举报
文章被收录于专栏:bamboo前端学习记录

一:外边距合并的场景

从3个简单的小例子来看外边距合并:

1、父子合并

给h1加50px的margin,但实际上h1和div的margin合并在一起了

clipboard.png
clipboard.png

2、相邻元素合并

detail设置margin为30px,header设置margin为30px,结果两个相邻元素之间的间距发生了合并

clipboard.png
clipboard.png

而且合并宽度是margin数值大的为准。如下图detail和header外边距合并之后,边距为50px。

clipboard.png
clipboard.png

3、自己和自己合并

当元素内容为空时,元素设置的上下margin会自己和自己合并。如下面这个例子中,footer为空,设置了上下margin为30px,但实际上footer的间隔只是30px,自己的上下margin合并了。

clipboard.png
clipboard.png

二、阻止外边距合并的方法

1、给父元素加border

如下图给header加上border之后,h1和header就没有产生外边距合并了。

clipboard.png
clipboard.png

2、给父元素加上padding

clipboard.png
clipboard.png

注意:相邻元素合并加padding和border都没有用

3、形成一个BFC

给header加了一个overflow:hidden,形成一个BFC,外边距就不再合并。 但是副作用时overflow:hidden是有作用,如果有二级菜单就会被隐藏。

clipboard.png
clipboard.png

当然其他形成BFC的方法也可以生效,但也有对应的副作用。 如用float:left,宽度会收缩。需要设置宽度为100%

clipboard.png
clipboard.png

demo

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一:外边距合并的场景
    • 1、父子合并
      • 2、相邻元素合并
        • 3、自己和自己合并
        • 二、阻止外边距合并的方法
          • 1、给父元素加border
            • 2、给父元素加上padding
              • 3、形成一个BFC
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档