文章目录
一、自适应盒模型的特性
特性: 自适应盒模型是指当盒子不设置宽度时,盒模型相关组成部分的处理方式是如何的。
现象: 父子元素,要求子元素往里收缩。
如图:这种布局,基本在日常开发中都会遇到。当我们固定了子元素宽度也就相当于子元素的content区域,如果这个时候再给子元素添加padding、margin或者border,盒模型会自动向四周扩散,最终导致溢出父元素。那就有很大的一部分人直接算出左右间距,然后用父盒子的宽度,减去间距然后设置子盒子的宽度。其实,如果了解盒模型的特性,大可不必如此做。
基础代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.box1 {
width: 300px;
height: 300px;
background-color: bisque;
}
.box2 {
width: 300px;
height: 200px;
background-color: azure;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
</html>
利用盒模型特性:不设置子盒子的宽度,直接设置子盒子的margin
.box2 {
height: 200px;
background-color: azure;
margin: 20px;
}