css 盒子模型

css 盒子模型(box model)

  • 所有的html元素都可以看作盒子,在css中,”box model” 这一术语是用来布局的时候用的;css 盒子模型本质就是一个盒子,封装周围的html元素,他包括:外边距margin,边框(boder),内边距(padding), 实际内容(content)这四个属性

W3C盒子模型(标准盒子模型)和IE盒子模型(怪异盒模型)

标准盒子模型

  • 元素的内容占据的空间是由width属性设置的,而内容周围的padding和border值是另外计算的,即在标准模式下的盒模型
  • 盒子实际内容(content)的width/height=我们设置的width/height
  • 盒子总宽度/高度=width/height+padding+border+margin。
.box{
  width:200px;
  height:200px;
  border:20px solid black;
  padding:50px;
  margin:50px;
 }

IE盒子模型(怪异盒模型)

  • 在怪异盒模型的情况下,浏览器的width属性不是内容的宽度,而是内容,内边距和边框的宽度的总和,即使在怪异模式下的盒模型
  • 盒子的(content)宽度+内边距padding+边框border 宽度= 我们设置的width(height也是如此)。
  • 盒子总宽度/高度=width/height +margin = 内容区宽度/高度+padding+border+margin.
.box{
  width:200px;
  height:200px;
  border:20px solid black;
  padding:50px;
  margin:50px;
 }

怪异盒模型和标准和模型的兼容性问题

建议不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素

css 指定盒子模型的种类

  • box-sizing 属性允特定的方式定义匹配某个区域的特定的元素;
  • box-sizing:content-box//宽度和高度分别应用到元素的内容框,在宽度和高度之外绘制元素的内边距和边框;
  • box-sizing:border-box// 为元素设定的宽度和高度决定了元素的边框盒,也就说:为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制,通过从已设定的宽度和高度分别减去边框盒内边距才能得到内容的宽度和高度
  • box-sizing:inherit:// 规定应从父元素继承box-sizing属性值;

box-sizing属性可以指定盒子模型种类:content-box指定盒子模型为W3C(标准和模型),border-box为IE盒子模型(怪异盒模型)


   转载规则


《css 盒子模型》 echo丶若梦 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
写一个柯里化 写一个柯里化
柯里化🍏柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果。如果要实现下面这个方法:add(1, 2)(3)(4)
下一篇 
闭包 闭包
闭包是什么 在 JS 忍者秘籍(P90)中对闭包的定义:闭包允许函数访问并操作函数外部的变量。 红宝书上对于闭包的定义:闭包是指有权访问另外一个函数作用域中的变量的函数。 MDN 对闭包的定义为:闭包是指那些能够访问自由变量的函数。这里的
2021-03-24 echo丶若梦
  目录