CSS盒模型理解

盒模型:由外到内的公式表示:box = margin + border + padding + content。content不是属性,为内容,以文本或节点存在占用位置。


理解-快递包裹:两个快递包裹间的距离就是margin,快递包裹的纸皮就是border,打开快递包裹,填充物料就是padding,
把填充物料打开看到了你的物品,那就是content。这样理解是不是特别容易呢?


类型:标准盒模型和怪异盒模型,声明:box-sizing,不具有继承性。

标准盒模型:content-box

标准盒模型是W3C规范的标准,由margin + border + padding + content组成。与上述提到的公式一模一样,节点的width/height只包含content,不包含paddingborder

节点的尺寸计算公式如下。

  • 横向margin-[left/right] + border-[left/right]+ padding-[left/right] + width
  • 纵向margin-[top/bottom] + border-[top/bottom]+ padding-[top/bottom] + height

节点的宽高计算公式如下。

  • 横向width = width
  • 纵向height = height

怪异盒模型:borde-box

怪异盒模型又名IE盒子模型,是IExplore制定的标准,由margin + content组成。与上述提到的公式一不同,节点的width/height包含borderpaddingcontent

节点的尺寸计算公式如下。

  • 横向margin-[left/right] + width(包含border-[left/right]padding-[left/right])
  • 纵向margin-[top/bottom] + height(包含border-[top/bottom]padding-[top/bottom])

节点的宽高计算公式如下。

  • 横向width = border + padding + width
  • 纵向height = border + padding + height
在IExplore中,若HTML文档缺失<!doctype html>声明则会触发怪异盒模型

两者区别

通过代码演示可能会更清晰,widthheight的范围也一目了然,其实两者区别在于widthheight包不包含borderpadding

佳物不独来,万物同相携。
原文地址:https://www.cnblogs.com/rongrongtu/p/14524804.html