em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸,最初是指字母M的宽度,故名em。现指的是字符宽度的倍数,用法相似百分比,如:0.5em, 1em,2em等,一般1em=16px。css
rem(root em,根em):是CSS3新增的一个相对单位,相对的只是HTML根元素,能够只修改根元素就能够成比例地调整全部字体大小,又能够避免字体大小逐层复合的连锁反应。兼容性IE9+均可以兼容,对于不兼容的浏览器写一个绝对单位的声明就能够了。html
fr 单位是一个自适应单位,fr单位被用于在一系列长度值中分配剩余空间,若是多个已指定了多个部分,则剩下的空间根据各自的数字按比例分配。浏览器
px全称Pixel,译:像素。它相对长度单位,像素 px 是相对于显示器屏幕分辨率而言的。字体
Px是一个绝对字体大小,em则是基于基数(好比:1.5em)来计算出来的相对字体大小。这个基数是须要乘以当前对象从其父级遗传字体大小。网站
不过,这有个问题就是在css中想要知道当前元素的字体大小所遗传的是哪一个父级元素的字号。所以,rem的出现就很好的解决了这个问题。rem是基于根节点(好比html)的字体大小进行计算的。.net
这个默认字体大小是依据你网站当前访问时所使用的浏览器或者其余设备来决定的,对于桌面浏览器默认是16px的字体大小。而后你如今要转换当前元素的字体大小为rem的时候你就能够这样作:htm
为了更方便的进行计算转换,你能够把默认字体大小设置成62.5%或者是10px,这个时候你要计算当前元素字体大小的时候,你就能够这样:对象