给子元素设置margin后,父元素也跟着移动

当子元素的margin与父元素接触时,会发生外边距合并,导致父元素位置移动。解决方法包括:为父元素添加border、padding,或者创建BFC,如使用absolute定位、inline-block或float。理解这一现象对于布局优化至关重要。

给子元素设置margin后,父元素也跟着移动

在这里插入图片描述

在这里插入图片描述
原因是: 普通文档流盒子间,只要垂直外边距直接接触就会发生合并,合并后外边距视觉高度取两个发生合并外边距中较大者。发生这一现象的有三种情况:相邻兄弟块元素间、父元素及其首子元素和末子元素间(没有内边距或边框把外边距分隔开)、空块级元素自身的合并。

解决方法:
第一种:给父级设置border
第二种:给父级设置个padding
第三种:BFC(块格式化上下文)
position:absolute;
display:inline-block;
float:left/right;
overflow:hidden;(溢出的东西隐藏)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值