10边距合并问题

块之间的外边距合并(无法解决,要避免)


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
	.c1{
		width:500px;
		height:500px;
		background-color:#F00;
		margin-bottom:50px;
	}
	.c2{
		width:500px;
		height:500px;;
		background-color:#FC6;
		margin-top:100px;
	}

</style>
</head>

<body>
<div class="c1"></div>
<div class="c2"></div>
<!--如果两个块级元素相邻时,一个有下外边距,一个有上外边距,那这两个距离会合并成一个,大小为较大的那个边距-->
</body>
</html>

盒子嵌套的边距合并(可以解决)


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
	.c1{
		width:498px;
		height:498px;
		background-color:#FF0;
		border-top:1px #ff0 solid;
		<!--或者padding-top:1px;-->
	}
	.c2{
		width:100px;
		height:100px;
		background-color:#00F;
		margin-top:100px;	
	}
</style>
</head>

<body>
<div class="c1">
	<div class="c2">
    </div>
</div>
<!--如果两个嵌套的块元素中,父元素没有上内边距级边框,则父元素的上外边距会与子元素的上外边距合并,取较大值-->
<!--之和并上下,左右和合并-->
<!--即使父元素上外边距为0也会合并-->
<!--解决办法:
1.给父亲一个边框或或内边距,但注意两者都会撑大盒子,所以都要重新调整盒子大小
2.给父元素添加overflow:hidden;-->
</body>
</html>

padding不会撑开盒子的情况


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
	.c1{
		width:500px;
		height:500px;
		background-color:#FF0;
	<!--padding:50px;父亲以及定义了宽度,修改padding会撑开盒子-->

	}
	.c2{
		height:100px;
		background-color:#F00;
		margin:10px;
		padding:10px;
		padding:50px;
<!--子为未定义宽度,使用原本默认的宽度(也可以所说继承的父的宽度也可以说块元素独自占一行),即使改了也不会撑开盒子-->
	}
</style>
</head>

<body>
<div class="c1">
	<div class="c2">123</div>
</div>

<br>


<div class="c1">
	<div class="c2">123</div>	
</div>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值