内容盒子模型:

这是W3C的标准模型,元素的宽度和高度只包括内容区域,不包括内边距、边框和外边距。也就是说,设置width和height只是内容区域的尺寸。

边框盒子模型:

元素的宽度和高度包括内容区域、内边距和边框。设置width和height是包含padding和border在内的总尺寸。

主要区别:

  • 标准模型:width = 内容宽度

  • IE模型:width = 内容宽度 + padding + border

CSS控制:

可以通过box-sizing属性来控制使用哪种模型:

  • content-box:标准模型

  • border-box:IE模型

实际应用:

现在开发中通常使用border-box,因为这样更容易控制元素的实际尺寸,不需要手动计算padding和border的影响。

兼容性:

现代浏览器都支持box-sizing属性,可以统一使用border-box来避免盒子模型的差异问题。

理解盒子模型对布局和尺寸控制非常重要。