rem是什么意思?CSS手册中的描述:相对长度单位,相对于根元素(即html元素)的font-size计算值的倍数。rem的用法很简单,就是设置根标签html的文字大小后(如果不设置,大部分浏览器默认为16px),其他标签的rem设置为html大小的倍数。html{字体大小:10px;/*将html设置为10px*/}h1{font-size:2rem;/*10px*2=20px*/}PC端大部分使用px单位,小部分使用em单位,移动端请全部使用rem单位。兼容当前大多数设备,包括但不限于iOS5+、Android2.3+、WindowPhone8+。那为什么移动端要用em为单位呢?一是我一开始提到的,大部分移动端都支持,不需要考虑兼容性问题;二是修改灵活。如果想把整个网页的字体放大一倍,直接修改html{font-size:20px}即可。当然有人提到fittowebpagescaling,我没用过这个功能。..你肯定会说,百度、谷歌搜索的文章大多设置为html{font-size:62.5%}。他的作用也是将html设置为10px,但是万一有浏览器2b升级到默认的文字大小不是16px呢?而且可以直接设置为10px,为什么要用62.5%算作10px呢?这不是脱裤子放屁吗?所以我总是直接设置10px。问题1在手机上使用rem为单位要注意:比如https://www.santaige.net这个网站的字体大小没有在reset中设置,所以我就直接写font-size:body中的1.2rem,让整个网页的字体大小为12px。但是在AndroidChrome中是无效的,还是按照16px计算,而不是我手动设置的10px。所以如果要设置整个网页的默认字号,最粗暴的方法就是在body中直接设置em或者px字号,比如body{font-size:1.2em}或者12px,推荐使用em.body直接继承了html的字号,可以间接实现rem的功能。那么在其他地方使用rem是没有问题的。2:因为chrome设置最小字号为12px,如果在宽,高,行高,边距等中使用rem,虽然在html中设置了10px,但默认还是会按照12px计算,所以会实际上太大了。建议只在字号中使用rem。
