在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
问题描述今天在修改页面样式的时候,遇到子元素设置 今天就来说说整个问题产生的原因,以及解决方案。 问题分析在MDN上面有这么一段文字: 块的上外边距( 有三种情况会产生边距折叠: 1、同一层相邻元素之间<div class="A">元素A</div> <div class="B">元素B</div> <style> .A, .B { width: 50px; height: 50px; } .A { background: yellow; margin-bottom: 10px; } .B { background: pink; margin-top: 20px; } </style> 上面两个p标签之间的间隔是20px。 解决办法: 第二个元素B,设置清除浮动clearfix .clearfix::after { content: ""; display: block; clear: both; height: 0; overflow: hidden; visibility: hidden; } .clearfix { zoom: 1; } 2、父子元素之间没有内容例子中,A,B元素与父元素box之间没有其他元素的情况下: <div class="box"> <div class="A">元素A</div> <div class="B">元素B</div> </div> <div class="next">Next</div> <style> .box { margin-top: 10px; margin-bottom: 10px; background: #eee; } .A, .B { width: 50px; height: 50px; } .A { background: yellow; margin-top: 20px; } .B { background: pink; margin-bottom: 20px; } .next { height: 50px; background: #eee; } </style> 解决办法:
注意:即使设置父元素的外边距是0, 3、空的块级元素当元素B的 <div class="top">top</div> <div class="middle"></div> <div class="bottom">bottom</div> <style> .top,.bottom { width: 50px; height: 50px; background: pink; } .middle { margin-top: 10px; margin-bottom: 20px; } </style> 解决方法:
注意事项
参考链接 https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing 到此这篇关于子元素margin-top导致父元素移动的问题解决的文章就介绍到这了,更多相关子元素margin-top导致父元素移动内容请搜索极客世界以前的文章或继续浏览下面的相关文章,希望大家以后多多支持极客世界! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论