rem和em的区别 rem 是基于 html 元素的字体大小来决定,而 em 则根据使用它的元素的大小决定,一般被称为相对长度单位,是根据它父元素的字体大小来计算的,一般默认情况下:16px = 1em

如果父元素font-size:16px,子元素margin:0.8em。那么得到的大小就是:0.8 * 16 =12.8。

当所有单位都采用em时,我们只需要改变body的font-size,那么其他子元素宽度就能动态变化了,显然方便很多

em 和 rem 单位之间的区别是浏览器根据谁来转化成 px 值

rem是css3新增的一个相对长度单位,它的出现是为了解决em的缺点,em可以说是相对于父级元素的字体大小,当父级元素字体大小改变时,又得重新计算。

rem出现就可以解决这样的问题,rem只相对于根目录,即HTML元素。有了rem这个单位,我们只需要调整根元素html的font-size就能达到所有元素的动态适配了