一.概念
1.页面中的每一个标签,都可看做是一个 “盒子”,通过盒子的视角更方便的进行布局
2.浏览器在染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为 盒子
二.组成部分
- width和height:内容的宽度、高度(不是盒子的宽度、高度)。
- padding:内边距。
- border:边框。
- margin:外边距。
盒子模型
CSS 中规定每个盒子分别由: 内容区域 (content) 、内边距区域 (padding) 、边框区域(border) 、外边距区域(margin)构成,这就是盒子模型
三.元素的宽度和高度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width: 200px;
border: 10px solid red;
padding: 10px;
margin: 10px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
运行出的盒子为:
总宽度为:200px (宽)+ 10px+10px(左+右填充)+10px+10px(左 + 右边框)+ 10px+10px(左+右边距)
= 280px
最终元素的总宽度计算公式是这样的:
总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
元素的总高度最终计算公式是这样的:
总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距
如果想保持一个盒子的真实占有宽度不变,那么加width的时候就要减padding。加padding的时候就要减width。因为盒子变胖了是灾难性的,这会把别的盒子挤下去。
四.盒子属性
(1) margin:盒子的外边框
margin-top:上边距
margin-buttom:下边距
margin-left:左边距
margin-right:右边距
(2)padding:表示盒子的内边距
padding-top:上部填充
padding-bottom:下部填充
padding-left:左部填充
padding-right:右部填充
(3)border:border表示盒子的边界
border-top:上边界
border-bottom:下边界
border-left:左边界
border-right:右边界