haiying520

移动web页面字体大小二

按设计稿中的字体大小设置页面字体大小(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.
发表于 2016-01-15 09:36  西门飘雪001  阅读(431)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: