码迷,mamicode.com
首页 > 移动开发 > 详细

rem 结合 scss 移动端自适应 初级入门demo

时间:2016-06-24 14:52:27      阅读:526      评论:0      收藏:0      [点我收藏+]

标签:

首先说明 本篇 内容 适合初级使用 rem 开发移动端 自适应 公式计算 推导过程, 高手绕路。

 

目标尺寸 = rem  *  根字体大小

 根字体大小 = 比例值 = 屏幕尺寸宽度/PSD稿尺寸宽度

 目标尺寸 = rem  *  屏幕尺寸宽度/PSD稿尺寸宽度

  Px    =  rem * (html根字体px)

 

                                                                                                                                     Html跟字体浏览器支持 最小 12像素, 避免过小加权 系数 n

                                                                                                                                                                                                                                                                     

                  实际尺寸                                 实际尺寸              屏幕尺寸宽度            实际尺寸                屏幕尺寸宽度 * n            实际尺寸           屏幕尺寸宽度

目标尺寸 = —————   *   根字体大小  =  ———————  * —————————— =  —————— * ———————————— =  ———————  * ———————————————————————————

                      1                                             1               PSD稿尺寸宽度            1 * n                     psd稿 尺寸宽度                a                    b (尽可能让b值小 这样字体不会小于12像素)

 

psd稿 尺寸宽度 = a * b;

 

                实际尺寸            屏幕尺寸宽度

目标尺寸 = —————— * ————————————

                1                     PSD稿尺寸宽度(640)

以PSD 640像素为例

 

                        实际尺寸             屏幕尺寸宽度

目标尺寸 = ———————     *    -------————————

                        100                  6.4 (640=100*6.4)

回归开始

目标尺寸 = rem  *  根字体大小

结合前端预编译工具 scss  生成rem:

@function rem( $px) {

    @return $px*(1/100)*1rem;

}

JS 根据屏幕宽度计算 字体大小:

  //- 设置根元素fontSize~

  (function (doc, win) {

    var _root = doc.documentElement,

          resizeEvent = ‘orientationchange‘ in window ? ‘orientationchange‘ : ‘resize‘;

    function resizeFont () {

      var clientWidth = _root.clientWidth;

      _root.style.fontSize = (clientWidth/6.4) + ‘px‘;

      //console.log(‘w:‘ + clientWidth );

    }

    win.addEventListener(resizeEvent, resizeFont, false);

    doc.addEventListener(‘DOMContentLoaded‘, resizeFont, false);

  })(document, window);

 

 

--------------------延伸-----------------------------------------------------------------------------------

                   

                           实际尺寸

目标尺寸百分比 =  ————————————————

                        上下文元素元素尺寸

 

反推

                    实际尺寸

Rem  = ——————

         根字体大小

---------------------------------------------------------------------------------------------------------

 

 

完整代码 链接:

 

rem 结合 scss 移动端自适应 初级入门demo

标签:

原文地址:http://www.cnblogs.com/liufl/p/5613970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!