垂直外边距的重叠(折叠)

本文探讨了CSS中垂直外边距重叠的现象及处理方法。解释了兄弟元素间的外边距如何取较大值,特殊情况下的求和法则。详细介绍了父子元素外边距重叠的影响,并提供了解决方案,包括使用padding、border以及clearfix技术。

垂直外边距的重叠(折叠)

相邻的垂直方向外边距会发生重叠现象

1、兄弟元素

兄弟元素间的相邻垂直外边距会取两者之间的较大值(两者都是正值)

特殊情况:

若相邻的外边距一正一负,则取两者的和

若相邻的外边距都是负值,则取两者中绝对值较大的

兄弟元素之间的外边距的重叠,对于开发是有利的,所以不需要进行处理

2、父子元素

父子元素间相邻外边距,子元素的会传递给父元素(上外边距)

父子元素之间的外边距重叠,会胡影响到页面的布局,必须要进行处理


处理思路(非优秀方案):
1、不用外边距。

给父元素使用一个padding-top,父元素会被撑开,将撑开的大小

从父元素的height中减去即可

2、不让其相邻。

a)给父元素使用一个border-top将父与子的外边距隔开,颜色也要一

致,然后将子元素的margin-top调小给的border-top的宽度

b)利用clearfix(清除浮动)可以解决垂直外边距重叠问题(也可解

决高度塌陷问题)

clearfix示例:

.clearfix::before,
.clearfix::after{
					content'';
					display:block;
					clear:both;
}

注:

.clearfix::before{
					content'';
					
					display:table;
}								`此部分代码解决外边距重叠问题`





.clearfix::after{
					content'';
					
					display:table;	
				//display:table既可以解决高度塌陷又可以解决外边距重叠
				//display:block只能解决高度塌陷,不能解决外边距重叠
					
					clear:both;
}								`此部分代码解决高度塌陷问题`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值