CSS有两种类型的长度单位 :相对和绝对。
注: 数字与单位之间不能出现空格。如果长度为0,则可以省略单位。对于一些CSS属性,长度可以是负值。
浏览器支持
下表中的数字表示支持该单位的最低浏览器版本
长度单位 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
em, ex, %, px, cm, mm, in, pt, pc | 1.0 | 3.0 | 1.0 | 1.0 | 3.5 |
ch | 27.0 | 9.0 | 1.0 | 7.0 | 20.0 |
rem | 4.0 | 9.0 | 3.6 | 4.1 | 11.6 |
vh, vw | 20.0 | 9.0 | 19.0 | 6.0 | 20.0 |
vmin | 20.0 | 9.0* | 19.0 | 6.0 | 20.0 |
vmax | 26.0 | 不支持 | 19.0 | 不支持 | 20.0 |
注: Internet Explorer 9 通过不标准的名称 vm 来支持 vmin 。
相对长度
相对长度单位指定了一个长度相对于另一个长度的属性。对于不同的设备相对长度更适用。
单位 | 描述 |
---|---|
em | 它是描述相对于应用在当前元素的字体尺寸,所以它也是相对长度单位。一般浏览器字体大小默认为16px,则2em == 32px; |
ex | 依赖于英文字母小 x 的高度 |
ch | 数字 0 的宽度 |
rem | rem 是根 em(root em)的缩写,rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小。 |
vw | viewpoint width,视窗宽度,1vw=视窗宽度的1% |
vh | viewpoint height,视窗高度,1vh=视窗高度的1% |
vmiin | vw和vh中较小的那个。 |
vmax | vw和vh中较大的那个。 |
% |
rem与em有什么区别呢?
区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。
绝对长度
绝对长度单位是一个固定的值,它反应一个真实的物理尺寸。绝对长度单位视输出介质而定,不依赖于环境(显示器、分辨率、操作系统等)。
单位 | 描述 |
---|---|
cm | 厘米 |
mm | 毫米 |
in | 英寸(1in = 96px = 2.54cm) |
px* | 像素 |
pt | point,大约1/72英寸(1pt = 1/72in) |
pc | pica,大约12pt,1/6英寸(1pc = 12 pt) |
个人观点:像素可以被认为是最好的设备像素,因为像素长度和显示器上看到的文字像素无关。
px像素实际上是一个按角度度量的单位