CSS两个经典BUG--margin塌陷与margin合并

本文详细探讨了CSS中的两个经典问题——margin塌陷与margin合并。margin塌陷表现为子元素的margin-top不会作用于父元素,而是影响页面顶部,通过设置父元素的border、使用BFC或padding等方式可以解决。margin合并则发生在兄弟元素之间,导致外边距只取两者中较大的那个。解决方法包括调整外边距值或利用BFC避免合并。
摘要由CSDN通过智能技术生成

margin塌陷问题

现象

先上示例代码

<div class="warpper">
			<div class="box"></div>
</div>
* {
	padding: 0;
	margin: 0;
}

.warpper {
	height: 200px;
	width: 200px;
	background-color: gray;
}

.box {
	height: 100px;
	width:100px;
	background-color: green;
}

两个嵌套的盒子如下所示
在这里插入图片描述
给嵌套在里面的子元素盒子摄设置一个margin-top值,我们的设想是子元素会相对于父元素向下移动,但是效果与我们想的却不太一样。
在这里插入图片描述
我们看到子元素是相对于浏览器的顶端向下移动了,仿佛父元素没有顶一样,这种现象我们就称之为margin塌陷。

解决方案

  1. 给父元素设置border。这种方法可以解决问题,但是在实际开发中不推荐,因为这样会破坏页面的样式;
  2. 使用bfc来解决。触发bfc有以下几种方式:
    float的值不为none
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值