px: 基于像素的单位。像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的。
em : 一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是指父元素的字体大小。
比如
<div style="font-size:12px">
<span style="fontsize:2em">这里的字是24px</span>
</div>
如果使用em来指定填充,填充的宽度是相对于DIV元素的字体大小而定的。
pt: 印刷业上常使用的单位,磅的意思。一般也用于页面打印排版。
rem是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
示例:
div { font-size : 1.2em}
rem与px的换算
1rem=16px, 12px=0.75rem
如果将rem换算后html{font-size:62.5%},1rem=10px.
首先,rem是以html为基准。
一般的,各大主流浏览器的font-size默认值为16px,此时1rem=16px。如果此时将rem与px进行换算很麻烦,比如0.75rem=12px。
为了更方便的进行换算(比如1:10),就可以加样式:
16px*0.625 = 10px
设置了62.5%以后就有 1rem=10px,便于用rem指定元素的尺寸(比如1.2rem=12px,1.4rem=14px),这样响应式的时候就可以直接改变font-size而无需计算其他各种样式中出现的尺寸了。
用rem定义尺寸的另一个好处是更能适应 缩放/浏览。