求star

开源不易,喜欢请点个star吧

Ocean Han
385 字
2 分钟
CSS盒子模型
2023-03-05

盒子模型

一、什么是盒子模型?#

TIP

​ 当对一个文档进行布局的时候,浏览器的渲染引擎会根据标准之一的CSS基础框盒模型(Css basic box model),将所有的元素表示为一个个矩形的盒子。通俗来讲,每个HTML元素都可以被看作是一个盒子。

​ 在CSS中,盒子模型可以分成:

  • W3C标准盒子模型
  • IE 怪异盒子模型

二、W3C标准盒子模型#

标准盒模型

TIP

W3C标准盒模型,是浏览器默认的盒子模型。

​ 盒子总宽度(Total Width) = width + padding + border + margin

​ 盒子总高度(Total Height) = height + padding + border + margin

​ 也就是说,在标准盒模型下,width/height只是content的,不包含padding和border,所以如果设置width为200px,但因为padding的存在,实际宽度大于200px

三、IE怪异盒子模型#

IE怪异盒模型

TIP

​ 盒子总宽度 = width + margin

​ 盒子总高度= height + margin

​ 也就是说,在怪异盒模型下,width/height的值包含了padding和border

四、如何设置使用的盒模型#

box-sizing属性#

box-sizing: content-box|border-box|inherit;
TIP

box-sizing属性定义了引擎应该如何计算一个元素的总宽高(也就是指定了是哪种盒模型)

属性值:

  • content-box 默认值,元素的 width/height 不包含padding,border,与标准盒子模型表现一致
  • border-box 元素的 width/height 包含 padding,border,与怪异盒子模型表现一致
  • inherit 指定 box-sizing 属性的值,应该从父元素继承
CSS盒子模型
https://blog.oceanh.top/posts/frontend/css盒模型/
作者
Ocean Han
发布于
2023-03-05
许可协议
CC BY-NC-SA 4.0
最后修改时间
2024-08-10 10:08:49