px rem 转换的几种方法(分辨率字体调整)

目前(2016-06-19)px转rem 的工具已经不少了。下面介绍几个转换的方案。



转换方式1: 使用 在线-px转rem

  在线 px 转换 rem 工具地址:http://520ued.com/tools/rem


转换方式2: 使用 sublime text 3 rem插件自动转换。
  
效果如下:
 
  这里写图片描述

使用步骤

   1、下载插件 https://github.com/hyb628/cssrem.git
  
  2、进入packages目录:Sublime Text 3 编辑器 -> Preferences -> Browse Packages…
  
然后点击打开,将下载好的 cssrem 文件放入其中,重启Sublime Text即可。

这里写图片描述

配置参数(可选)

  参数配置文件:Sublime Text3 -> Preferences -> Package Settings -> cssrem

    px_to_rem - px转rem的单位比例,默认为40。
    
    max_rem_fraction_length - px转rem的小数部分的最大长度。默认为6。
    
    available_file_types - 启用此插件的文件类型。默认为:[“.css”, “.less”, “.sass”]。
    
    我在配置文件 cssrem.sublime-settings里修改了单位比例为100
    
    具体的比例参数还是看个人平时切图怎么设置参数为准。

这里写图片描述
  
  3、重启Sublime Text。
  




转换方式3: 使用node Grunt 来执行转换。

请移步:http://www.tuicool.com/articles/3EbYFv




转换方式4: 常用设置转换。

   1.针对设计稿 计算rem

   所有浏览器都一致默认保持着 16px 的默认字号 1em:16px ,但是 1:16 的比例不方便计算。

  在这里文档元素设置 font-size: 62.5%,可以很方便的利用十进制进行计算了,(CSS 预处理工具可以使用默认值)

html {font-size: 62.5%;   /*  10 ÷ 16 × 100% = 62.5% */}
body {font-size: 1.4rem;  /*  1.4 × 10px = 14px      */}
h1 { font-size: 2.4rem;   /*  2.4 × 10px = 24px      */}

  所以如果我有一个宽度为640的设计稿,通过上面的方法算出对应元素rem的大小 。

 (附注:实际项目不可以设置成 font-size: 62.5%,因为chrome不支持小于12px的字体,计算小于12px的时候,会默认取12px去计算,导致chrome的rem计算不准确)

2。针对不同分辨率计算font-size

监听浏览器更改 html的font-size


(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 / 320) + 'px';
    };

  if (!doc.addEventListener) return;
  win.addEventListener(resizeEvt, recalc, false);
  doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

配合css预处理工具计算 rem 值。 Sass、LESS 、Stylus


5、js 处理响应式 px 转换 rem

~ function(desW) {
    var winW = document.documentElement.clientWidth;
    if(winW > desW) {
        var oMain = document.querySelector(".box");
        oMain.style.margin = "0 auto";
        oMain.style.width = desW + "px";
        return;
    }
    document.documentElement.style.fontSize = winW / desW * 100 + "px";
}(640);

好处就是兼容性完美,缺点是网络请求超慢的时候,所有东西都会放大再缩小,会出现闪屏!


6、px 转换 rem 工具(– 热心网友提供,非常感谢 –)

链接地址:http://www.ofmonkey.com/tools/front#rem


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rkatsiteli

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值