W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

CSS 盒子模型



CSS 盒子模型

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

下图说明了盒子模型(Box Model):

不同部分的说明:

  • Content - 盒子的内容,显示文本和图像。
  • Padding - 清除内容周围的区域,内边距是透明的。
  • Border - 围绕在内边距和内容外的边框。
  • Margin - 清除边框外的区域,外边距是透明的。

盒子模型允许我们在元素周围添加边框,并在元素之间定义空间。

Example

div {
    width: 300px;
    padding: 25px;
    border: 25px solid navy;
    margin: 25px;
}
尝试一下 »

元素的宽度和高度

为了在所有浏览器中的元素的宽度和高度设置正确的话,你需要知道的盒模型是如何工作的。

Note 重要的是: 当您指定一个CSS元素的宽度和高度属性时,你只是设置内容区域的宽度和高度。要知道,完全大小的元素,你还必须添加填充,边框和边距。

假设我们想要一个总宽度为350px的 <div> 元素:

Example

div {
    width: 320px;
    padding: 10px;
    border: 5px solid gray;
    margin: 0;
}
尝试一下 »

让我们自己算算:

320px (width)
+ 20px (left + right padding)
+ 10px (left + right border)
+ 0px (left + right margin)
= 350px

元素的总宽度应该这样计算:

元素总宽度 = width + left padding + right padding + left border + right border + left margin + right margin

元素的总高度应该这样计算:

元素总高度 = height + top padding + bottom padding + top border + bottom border + top margin + bottom margin

Note 注意: Internet Explorer 8和早期版本,包括宽度属性中的填充和边框。要解决此问题,请添加 <!DOCTYPE html> 到HTML页面中。