CSS盒模型是CSS用来计算元素尺寸和边距的基础模型。CSS标准盒模型和怪异盒模型的区别在于如何计算元素的宽度和高度。
标准盒模型(W3C盒模型):
在标准盒模型中,元素的宽度和高度是指内容区域的宽度和高度,不包括边框(border)、内边距(padding)和外边距(margin)。也就是说,元素的宽度和高度等于内容区域的宽度和高度。可以通过设置box-sizing属性为content-box来使用标准盒模型。
怪异盒模型(IE盒模型):
在怪异盒模型中,元素的宽度和高度包括内容区域、内边距和边框,但不包括外边距。也就是说,元素的宽度和高度等于内容区域的宽度和高度加上内边距和边框的宽度。可以通过设置box-sizing属性为border-box来使用怪异盒模型。
例如,对于一个元素的CSS样式如下:
div {
width: 200px;
height: 100px;
padding: 10px;
border: 1px solid #ccc;
margin: 20px;
box-sizing: content-box; /* 使用标准盒模型 */
}
在使用标准盒模型的情况下,元素的实际宽度和高度是200px和100px,不包括内边距、边框和外边距。而在使用怪异盒模型的情况下,元素的实际宽度和高度是202px和122px,包括内边距、边框和外边距。