Skip to content

CSS 单位总结

经典真题

px 和 em 的区别?

CSS 中有哪些单位?

首先,在 CSS 中单位分为两大类:绝对单位和相对单位。

绝对长度单位

绝对单位是固定的值,不会因为其他元素的大小而改变。常见的绝对单位有:

单位名称等价换算
cm厘米1cm = 96px/2.54
mm毫米1mm = 1/10th of 1cm
Q四分之一毫米1Q = 1/40th of 1cm
in英寸1in = 2.54cm = 96px
pc十二点活字1pc = 1/16th of 1in
pt1pt = 1/72th of 1in
px像素1px = 1/96th of 1in

这些值中的大多数在用于打印时比用于屏幕输出时更有用。例如,我们通常不会在屏幕上使用 cm。

唯一一个经常使用的值,估计就是 px。

相对长度单位

相对长度单位相对于其他一些东西,比如父元素的字体大小或者视图端口的大小。

使用相对单位的好处是,经过一些仔细的规划,我们可以使文本或其它元素的大小与页面上的其他内容相对应。

下面是 web 开发中一些最有用的单位:

单位相对于
em在 font-size 中使用是相对于父元素的字体大小
在其它属相中是相对于自身的字体大小,如 width
ex相对于小写字母 x 的高度
ch相对于数字 0 的宽度
lh相对于当前元素的 line-height
rem始终相对于根元素(html)的字体大小
vw相对于视口(viewport)的宽度。1vw 等于视口宽度的 1%
vh相对于视口(viewport)的高度。1vh 等于视口高度的 1%
vmin相对于视口(viewport)的较小尺寸。1vmin 等于视口较小尺寸的 1%
vmax相对于视口(viewport)的较大尺寸。1vmax 等于视口较大尺寸的 1%

上面的单位中,常用的有 emremvwvh

接下来看一看 emrem 的区别。

emrem 相对于 px 更具有灵活性,更适用于响应式布局。

它们的区别用一句话概括就是:

em 是相对于自身字体大小的单位,而 rem 是相对于根元素(html)字体大小的单位。

真题解答

px 和 em 的区别?

  • px 即 pixel 像素,是相对于屏幕分辨率而言的,是一个绝对单位,但是具有一定的相对性。因为在同一设备上每个设备像素所代表的物理长度是固定不变的(绝对性),但在不同设备间每个设备像素所代表的物理长度是可以变化的(相对性)。

  • em 是相对长度单位,具体的大小要相对于父元素来计算,例如父元素的字体大小为 40px,那么子元素 1em 就代表字体大小和父元素一样为 40px,0.5em 就代表字体大小为父元素的一半即 20px。