前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >css 子元素margin-top影响了父元素

css 子元素margin-top影响了父元素

作者头像
路过君
发布2020-11-12 11:06:52
1.6K0
发布2020-11-12 11:06:52
举报
文章被收录于专栏:路过君BLOG from CSDN

源码

代码语言:javascript
复制
<!DOCTYPE HTML>
<html manifest="">
<head>
  <style>
    .box1 {
      background-color: deepskyblue;
      height: 200px;
      width: 200px;
    }
    .box2 {
      background-color: coral;
      margin-top: 50px;
      height: 50px;
      width: 200px;
    }
  </style>
</head>
  <body>
  <div class="box1">
    <div class="box2">
    </div>
  </div>
  </body>
</html>

效果

可以看到box1虽然没有margin-top:50px,但是上方也留出了50px

在这里插入图片描述
在这里插入图片描述

原因

css盒模型规定: ··· In this specification, the expression collapsing margins means that adjoining margins (no non-empty content, padding or border areas or clearance separate them) of two or more boxes (which may be next to one another or nested) combine to form a single margin. 所有毗邻的两个或更多盒元素的margin将会合并为一个margin共享之。毗邻的定义为:同级或者嵌套的盒元素,并且它们之间没有非空内容、Padding或Border分隔。 ···

解决方案

  1. 父级或子元素使用浮动或者绝对定位absolute 浮动或绝对定位不参与margin的折叠
  2. 父级overflow:hidden;
  3. 父级设置padding
  4. 父级设置border
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码
  • 效果
  • 原因
  • 解决方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档