css 盒子模型及其理解

盒子模型:如下


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		.parent{
			width: 1000px;
			height: 400px;
			background-color: yellow;
			border: 2px solid blue;
		}
		.red{
			width: 500px;
			height: 300px;
			border: 2px solid red;
			padding:5px;
			margin:10px;
			float: left;
		}
		.black{
			width: 400px;
			height: 300px;
			border: 2px solid black;
			padding:10px;
			margin:10px;
			float: right;
		}
	</style>
</head>
<body>
	<div class="parent">
		<div class="red"></div>
		<div class="black"></div>
	</div>
</body>
</html>
蓝色边距的盒子:width:1000px

红色边距的盒子:width:500px,border:2px,margin:10px,padding:5px

它的总宽度为=width+border(左右)+margin(左右)+padding(左右)=534px

黑色边距的盒子:width:400px;border:2px,margin:10px,padding:10px;

它的总宽度为=width+border(左右)+margin(左右)+padding(左右)=444px

蓝盒子width>=红盒子+黑盒子

ps:里面所有的值加到一起一定不能大于父盒子的内容区的宽度width

总的宽度=内容区的宽度width+border(左右)+padding(左右)+margin(左右)


如果设置了浮动,不是正常的文档流,设置了一个margin-right:10px;另一个设置了margin-left:40px;要把所有的margin值相加,之间的距离是10+40=50px

如果不设置浮动,而是正常的文档流,设置了一个margin-bottom:10px,另一个设置了margin-top:40px;如果有叠加取叠加部分的最大值40


如图,下面那个盒子的margin-top会覆盖掉上方盒子的margin-bottom,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		.red{
			width: 500px;
			height: 300px;
			border: 2px solid red;
			margin-bottom: 10px;
		}
		.black{
			width: 400px;
			height: 300px;
			border: 2px solid black;
			margin-top: 40px;
		}
	</style>
</head>
<body>
	<div class="parent">
		<div class="red"></div>
		<div class="black"></div>
	</div>
</body>
</html>

浏览器的兼容问题:

根据w3c的规范,元素内同占据的空间是由width属性设置的,而内容周围的padding和border是另外计算的。

但IE5.X和6在怪异模式下使用自己的非标准模式,这些浏览器的width属性不是内容的宽度,而是内同、内边距和边框的宽度的总和。

解决方法:不要给元素添加具体制定宽度的内边距,而尝试将内边距或外边距添加到元素的父元素和子元素。

IE8及更早IE版本不支持设置填充的框和边框的宽度属性。解决IE8和更早IE版本不兼容问题可在HTML页面设置<!DOCTYPE html>即可



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值