1、给定border或padding时,盒子的大小会被撑大,如果不想撑大盒子如何做?
需求:盒子尺寸为300300,背景色为红色,边框10px黑色,上下左右20px的内边距,如何完成?
如下图:加了boder和padding后,盒子被撑开到360360了,
2、解决方法
- 手动内减
自己计算多余的大小,手动在内容中减去。
计算量大,比较的麻烦
- 自动内减
给例子设置属性box-sizing: border-box即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style>
div{
width: 300px;
height: 300px;
/* border边框和padding内边距是会撑开div的高度的 */
border: 10px solid black;
padding: 20px;
/* margin是外边距,不会撑开div高度的 */
margin: 30px;
background-color: rebeccapurple;
box-sizing: border-box;
}
</style>
<body>
<div></div>
</body>
</html>