css单位
相对长度单位&绝对长度单位
相对(relative)长度单位
用其他长度为基准单位来表示的长度值。这个基准单位可以:
单位 描述 em 它是描述相对于应用在当前元素的字体尺寸,所以它是相对长度单位。一般浏览器字体大小默认为16px,则2em == 32px ex 依赖于英文字母小x的高度 ch 数字0的宽度 rem rem是根(root em)的缩写,相对于根元素字体大小(相对的只是HTML根元素); vw viewpoint width,视窗宽度,1vw = 视窗宽度的1% vh viewpoint height,视窗高度,1vh = 视窗高度的1% vmin vw和vh中较小的一个 vmax vw和vh中较大的一个
绝对(Absolute)长度单位
当输出介质的物理性质已知时(如用于打印布局),绝对长度单位代表一个物理度量单位。
这是通过:将一个单元(如px)锚定到一个物理单元(如inch英寸),并相对于它(如px)定义其他单元(如cm)来实现的,来实现的。这句话通过公式来表示如下:
- $$ 96px / 1in = 2.54cm $$
分辨率不同锚定是不同的:
低 dpi 设备的长度(如低清屏幕)
- 单位 px 表示物理参考像素;其他单位是相对于它定义的。因此,1 in 定义为 96px,等于 72pt。此定义的后果是,在此类设备上,以英寸(in)、厘米(cm)或 毫米(mm)表示的尺寸不需要与同名的物理单位的大小相匹配。
高 dpi 设备的长度(如打印机、高清屏幕)
- 打印机英寸(in)、厘米(cm)和毫米(mm)与物理设备相同。px 单位是相对于它们定义的(1/96 of 1 inch)。
- 高清屏幕英寸(in)、厘米(cm)和毫米(mm)与物理设备可能相同。px 单位是相对于它们定义的(1/96 of 1 inch、1/96x2 of 1 inch、1/96x2.5 of 1 inch)。
单位 描述 cm 厘米 mm 毫米 in 英寸(1in= 96px = 2.54cm) px 像素 pt point (1pt = 1/72in) pc pica 大约12pt(1pc = 12pt)
px到底属于相对长度单位还是绝对长度单位?
- MDN观点: px是绝对长度单位
- 个人观点:
- px是绝对长度单位, 但有个前提就是要在相同dpi下进行比较,
- 特别注意: 不同dpi下的px进行对比后得出错误结果(即他们的px of 1 inch数值不同), 由此推导出错误结论(即px不固定, 所以是相对长度单位)