css box-sizing属性的应用

不指定box-sizing 的情况

默认情况下,宽度和高度计算方式如下:
width + padding + border = 元素实际的宽度
height + padding + border = 元素实际的高度

1.先来看一个盒子(没有加内边距和边框的情况下)

<div>123</div>
<style>
	div {
		width: 200px;
		height: 200px;
		background-color: pink;
	}
</style>

这个盒子里面装了123,盒子的实际高度和宽度都为200px
在这里插入图片描述
这个盒子里面装了123,盒子的实际高度和宽度都为200px

2.加了内边距和边框之后

<div>123</div>
<style>
	div {
		width: 200px;
		height: 200px;
		background-color: pink;
		padding: 20px;
		border: 2px solid skyblue;
	}
</style>

在这里插入图片描述
在这里插入图片描述

这个盒子的实际宽度应为:width(200)+border(2)*2+padding(20)*2=244
实际高度也为:height(200)+border(2)*2+padding(20)*2=244

所以,这意味着当你设置元素的宽度/高度时,该元素通常看起来比你设置的更大,这是因为元素的内边距和边框已被添加进元素的指定高度和宽度中

什么是box-sizing

CSS box-sizing 属性允许我们在元素的总宽度和高度中包括内边距(填充)和边框

语法: box-sizing: content-box | border-box | inherit

描述
content-box宽度和高度分别应用到元素的内容框, 在宽度和高度之外绘制元素内边距和边框,和不指定box-sizing是一样的
border-box为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。也就是说宽度和高度是定好的,不能再变了
inherit规定应从父元素继承box-sizing属性

指定box-sizing: border-box的情况

<div>123</div>
<style>
	div {
		box-sizing: border-box;
		width: 200px;
		height: 200px;
		background-color: pink;
		padding: 20px;
		border: 2px solid skyblue;
	}
</style>

在这里插入图片描述

在这里插入图片描述

添加了box-sizing: border-box; 之后,这个盒子的实际高度和宽度仍为200px,但是里面内容框的宽度和高度减小了.这种方法是极好的。

我们以后可以直接在 css 前面写上

* {
	box-sizing: border-box;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值