### CSS 盒模型学习笔记
CSS 盒模型(Box Model)是网页布局和设计的基础概念之一。理解盒模型对于正确定位和对齐网页元素至关重要。以下是学习CSS盒模型的关键点:
#### 1. 盒模型的组成
每个元素都被看作一个矩形盒子,包含以下四个部分:
- **Content(内容)**:元素的实际内容,如文字、图片等。
- **Padding(内边距)**:内容与边框之间的空白区域。内边距会增加盒子的实际尺寸,但不会影响内容的大小。
- **Border(边框)**:围绕内容和内边距的边框。
- **Margin(外边距)**:边框外部的空白区域,用于控制元素之间的间距。外边距不会影响元素的尺寸。
#### 2. 盒模型示意图
```
+--------------------------+
| Margin |
| +--------------------+ |
| | Border | |
| | +--------------+ | |
| | | Padding | | |
| | | +--------+ | | |
| | | | Content| | | |
| | | +--------+ | | |
| | +--------------+ | |
| +--------------------+ |
+--------------------------+
```
#### 3. 盒模型的计算公式
盒子的总宽度和高度可以通过以下公式计算:
- **总宽度** = 内容宽度 + 内边距(左+右) + 边框(左+右) + 外边距(左+右)
- **总高度** = 内容高度 + 内边距(上+下) + 边框(上+下) + 外边距(上+下)
#### 4. CSS代码示例
```css
.box {
width: 200px; /* 内容宽度 */
height: 100px; /* 内容高度 */
padding: 10px; /* 内边距 */
border: 5px solid black; /* 边框 */
margin: 20px; /* 外边距 */
}
```
#### 5. `box-sizing` 属性
`box-sizing` 属性用于改变浏览器计算盒子尺寸的方式。常见的值有:
- `content-box`(默认值):内容宽度和高度不包含内边距和边框。
- `border-box`:内容宽度和高度包含内边距和边框。
```css
.box-content {
box-sizing: content-box; /* 默认 */
}
.box-border {
box-sizing: border-box;
}
```
#### 6. 实例分析
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Box Model Example</title>
<style>
.example {
width: 200px;
height: 100px;
padding: 20px;
border: 10px solid #000;
margin: 30px;
box-sizing: border-box;
}
</style>
</head>
<body>
<div class="example">这是一个盒子模型示例。</div>
</body>
</html>