1. CSS框模型(Box Model)规定了元素框处理元素内容、内边距、边框和外边距的方式。也可以叫做盒子模型。
2. CSS框模型实质上是一个包围每个html元素的框。它包括: 外边距、边框、内边距以及实际的内容。下图展示了框模型:
3. 元素框的最内部分是实际的内容, 直接包围内容的是内边距。内边距的边缘是边框。边框以外是外边距, 外边距默认是透明的, 因此不会遮挡其后的任何元素。
4. 背景应用于由内容和内边距、边框组成的区域。
5. 内边距、边框和外边距都是可选的, 默认值是零。但是, 浏览器将许多元素样式表设置外边距和内边距。可以通过将元素的margin和padding设置为零来覆盖这些浏览器样式。这可以分别进行, 也可以使用通配符选择器对所有元素进行设置:
* {
margin: 0;
padding: 0;
}
6. 在CSS中, width和height指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸, 但是会增加元素框的总尺寸。
7. 假设框的每个边上有10个像素的外边距和5个像素的内边距。如果希望这个元素框达到100个像素, 就需要将内容的宽度设置为70像素, 请看下图:
#box {
width: 70px;
margin: 10px;
padding: 5px;
}
8. 内边距、边框和外边距可以应用于一个元素的所有边,也可以应用于单独的边。