css盒子模型包含哪几部分

html-css031

css盒子模型包含哪几部分,第1张

盒子模型分为哪几部分?

一个盒子模型分成几部分:

- 内容区(content)

- 内边距(padding)

- 边框(border)

- 外边距(margin)12345

内容区

内容区:盒子中放置内容的区域,也就是元素中的文本内容,子元素都是存在于内容区中的。

如果没有元素设置内边距和边框,则设置内容大小偶人和盒子大小一致123

通过width 和height 两个属性可以设置内容的大小1

width 和height属性值适合用于块元素1

内边距

内边距:元素内容区与边框以内的空间1

默认情况下width和height不包含padding的大小

12

使用padding属性来设置元素的内边距

举例:

-padding:10px 20px 30px 40px

这样会设置元素的 上,右,下,上 四个方向的内边距。(按照顺时针方向)

padding:10px 20px 30px

分别指定 上,左右,下 四个方向的内边距

padding:10px 20px

分别指定上下,左右四个方向的内边距

padding:10px

分别指定 上左下右 四个方向的内边距

同时在CSS中还提供padding-top padding-right padding-left padding-bottom1234567891011121314

边框

可以在元素周围创建边框,边框是元素可见的最外部1

可以使用border属性来设置盒子的边框:

-border:1px red solid

上边的样式分别指定了边框的 宽度 ,颜色,样式123

也可以使用border-top/left/right/bottom分别指定 上右下左 四个方向的边框

和padding一样,默认width 和height 并包括边框的宽度123

边框样式

边框样式可以设置多种样式:

-none(没有边框)

-dotted(点线)

-dashed(虚线)

-solid(实线)

-double(双线)

-groove(槽线)

-ridge(脊线)

-inset(凹线)

-outset(凸线)1234567891011

外边距

外边距是原素边框与周围元素相距的空间1

使用margin属性可以设置外边距1

用法和padding 类似,同样也提供了四个方向的

margin-top/right/bottom/left12

当将左右外边距设置为auto时,浏览器会将左右外边距设置为相等,所以这行代码 margin:0 auto 可以使元素居中

1

margin 在一个声明中设置所有外边距属性。

margin-top设置元素的上外边距。

margin-bottom 设置元素的下外边距。

margin-left设置元素的左外边距。

margin-right 设置元素的右外边距。

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 html>。

如果是定义了完整的doctype的标准文档类型,无论是哪种模型情况,最终都会触发标准模式,

如果doctype协议缺失,会由浏览器自己界定,在IE浏览器中IE9以下(IE6.IE7.IE8)的版本触发怪异模式,其他浏览器中会默认为W3c标准模式。

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

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

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

参考教程:

2020权威HTML+CSS零基础入学-渡一教育

CSS 盒子模型-W3C手册

标准的CSS盒子模型?与低版本IE的盒子模型有什么不同的?

W3C盒模型和IE盒模型的区别

什么是CSS盒模型 IE盒模型和W3C盒模型