关于rem和em的区别remrem:表示根元素(一般为)的字体大小下面是动态设置html字体大小的公式~function(){window.addEventListener('resize',computed);//添加Event,当设备尺寸变化时,执行计算函数computed();函数计算(){vardeviceW=document.documentElement.clientWidth||文档.body.clientWidth;//获取设备的宽度if(deviceW>640)return;//本案例以640的设计稿为例。判断如果设备大小超过640,计算出来的document.documentElement.style.fontSize=deviceW/640*100+'px';//这里的100是100屏幕尺寸为640时,html字体大小为100px。之所以设置为100,是为了方便计算。//这里设置html的字体大小是基于640的设计稿,当我们使用的设备宽度(deviceW)恰到好处时html的字体大小为640时,html的字体大小为100px;当设备尺寸发生变化,小于640时,会触发resize函数,计算执行会动态获取设备的宽度,然后除以640,计算出当前设备尺寸的百分比原设计稿,再乘以100,就可以计算出当前屏幕宽度下html的字体大小}}();document.documentElement.style.fontSize=xxxx这里是设置html字体大小为当前计算公式,如果设备大小为640,计算后html的字体大小为100px;1rem为100px;如果屏幕尺寸缩小到320,计算函数会自动获取屏幕宽度,重新计算html的字体大小。此时html的字体大小应该是50,所以1rem等于50px,而我们的布局采用rem布局,width:.5rem,表示一个对象的宽度值相对于该对象的字体大小的百分比html,width:.5rem表示width的值相对于html的字体大小的百分比为50%。因为html会随着屏幕的大小不断变化,所以width的值也会随之变化。emem和rem是相对单位,但是em是由父级的font-size值决定的。当最近的parent没有设置font-size的时候,会去寻找上一层。如果没有,它将继续搜索,直到找到html。如果不是,它将使用浏览器的默认字体大小,16px(在Firefox和chrome中);pxPX其实就是一个像素。使用PX设置字号时,比较稳定准确。一般浏览器支持的最小字号应该是12px;
