了解盒模型以及标准盒模型和怪异盒模型区别 | 8月更文挑战

358 阅读2分钟

这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战

前言

今天我们来了解一下盒模型以及标准盒模型和怪异盒模型区别

盒模型的组成

CSS盒子模型由四个部分组成,包括:外边距(margin)、内边距(padding)、边框(border)、内容区(width和height);

两种盒模型

盒模型分为:标准的CSS盒子模型和低端IE CSS盒子模型(也叫怪异盒模型)

区别

区别在于:

标准的css盒子模型宽高=内容区宽高 低端IE css盒子模型宽高=内容区宽高+内边距﹢边框

即:width/height = content + padding + border

所以标准盒模型下,盒子的总宽高计算公式是:content宽或高 + border + padding + margin 怪异盒模型下盒子的总大小=width(content + border + padding) + margin

W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。而IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

解决兼容性问题

解决IE8及更早版本不兼容问题,可以在HTML页面声明 。

如果是定义了完整的doctype的标准文档类型,无论是哪种模型情况,最终都会触发标准模式, 如果doctype协议缺失,会由浏览器自己界定,在IE浏览器中IE9以下(IE6.IE7.IE8)的版本触发怪异模式,其他浏览器中会默认为W3c标准模式。

box-sizing

另外,我们还可以通过属性box-sizing来设置盒子模型的解析模式

当设置为box-sizing:content-box时,将采用标准模式解析计算(默认模式);

当设置为box-sizing:border-box时,将采用怪异模式解析计算;

结束

以上就是关于盒模型以及标准盒模型和怪异盒模型区别的相关内容,如果觉得不错,欢迎点赞、评论支持。

刚刚开始学前端,希望多多指点和支持~