微信小程序中单位rpx和rem的使用


Posted in Javascript onDecember 06, 2016

前言

这篇文章主要给大家讲解了rpx和rem应用于微信小程序,如果你还没有入门,建议先从下面看起

     微信小程序官方文档

     >web app变革之rem

     >rpx单位官方文档

     >rpx单位基础介绍

如果看完上面几篇文章,我们开始进入正题吧~~

一、rem的使用

1) js中导入下面这段代码

(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);

2) 根据设计稿宽度算出rem和px直接的转换公式

例如:

640px的设计稿,转换公式就是按照上面js中这句而来【docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'】,最终 1rem = 20 x 640/320 + 'px' = 40px;

3)根据设计稿按照1rem = 40px 对着各个元素进行单位转换

例如:

我们测量一个元素宽度是400px,那么最终css中这样写 width:400/40 = 10rem

微信小程序中单位rpx和rem的使用
正常情况下rem的使用

二、rpx的使用

1)小程序中rpx与px的转换

例如:设计稿750px宽度

那么恭喜您,你ps上量出宽度是多少,那么你就定义多少rpx,也就是 1px = 1rpx

例如:设计稿640px宽度

那么很遗憾,你需要转换一下 1px = 750/640 rpx

微信小程序中单位rpx和rem的使用
小程序中rpx和px的转换

2)小程序中如何继续使用rem

例如:设计稿750px宽度

此时1rem = (750/20)rpx = 37.5px

例如:设计稿640px宽度

此时1rem = (750/20)rpx = 32px

微信小程序中单位rpx和rem的使用
小程序中rem的使用

注意:无论设计稿多少,rem与rpx换算总是一样的,但是rem与px在小程序中换算是 rem = 设计稿宽/20,这一点与我们平时使用的rem完全不一样。

总结

小程序毕竟出来不久,以上言论有的属于官方文档,有的属于自己瞎捉摸,大家不能全信,要自己测了才知道。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
jquery 关于event.target使用的几点说明介绍
Apr 26 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
Jan 02 Javascript
JsRender实用入门教程
Oct 31 Javascript
JS+CSS简单树形菜单实现方法
Sep 12 Javascript
基于jquery实现简单的分页控件
Mar 17 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
May 22 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
Vue脚手架编写试卷页面功能
Mar 17 Javascript
JavaScript类的继承多种实现方法
May 30 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 Javascript
JavaScript定时器实现的原理分析
Dec 06 #Javascript
原生js实现弹出层登录拖拽功能
Dec 05 #Javascript
详解Vue.js——60分钟组件快速入门(上篇)
Dec 05 #Javascript
原生js编写基于面向对象的分页组件
Dec 05 #Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 #Javascript
浅谈Node.js:Buffer模块
Dec 05 #Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
Dec 05 #Javascript
You might like
PHP include_path设置技巧分享
2011/07/03 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
php自动载入类用法实例分析
2016/06/24 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
js闭包实例汇总
2014/11/09 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
详解python读取image
2019/04/03 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
python装饰器使用实例详解
2019/12/14 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
总经理岗位职责
2013/11/09 职场文书
关于运动会的稿件
2014/02/02 职场文书
暑期研修感言
2014/02/17 职场文书
经典毕业生求职信
2014/07/12 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
5.12护士节活动总结
2015/02/10 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书