html5中rem表示以根元素为基础的倍数值,比如html的font-size为14px,那么1rem代表14px,2rem代表28px。通常设计师给出的设计稿都是640相素或者750相素,刚好是iphone5或者iphone6p的宽度。为了和设计稿保持一致,并保证不同手机的兼容性。我们需要用js计算html的font-size。代码如下。
<script>
(function(){
var resize=function(){document.documentElement.style.fontSize = Math.min(640, Math.max(document.documentElement.clientWidth, 320)) / 320 * 10 + 'px'};
window.addEventListener ? window.addEventListener('resize', resize) : window.attachEvent('resize', resize);
resize();
})();
</script>
这里是以设计稿为640相素为准的,1rem刚好是10相素,对应设计稿的20相素。如果设计稿是750,把代码中320換成375即可。