按设计稿中的字体大小设置页面字体大小(px),在手机端,因为不同设备会有不同,换算成rem单位。
rem是“font size of the root element”,可以通过这篇文章了解http://www.w3cplus.com/css3/define-font-size-with-css3-rem
以640px宽为例,设置html{ font-size: 20px; }
再把css中原来的px单位除以20,换成rem,比如120px,就写6rem
都设置完以后,这个页面是适配640的手机,那如果不是640的手机怎么办呢?在页面中加入这段脚本:
<script type="text/javascript"> (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fontSize = 20 * (clientWidth / 640) + 'px'; }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false); })(document, window); </script>
其中docEl.style.fontSize = 20 * (clientWidth / 640) + 'px'; 中20是html中设置的font-size,640是psd中图像宽,如果psd设计的是1080的,那就换成1080.