详解vue.js移动端配置flexible.js及注意事项


Posted in Javascript onApril 10, 2019

前言

最近在用vue做移动端项目,网上找了一些移动端适配的方案,个人觉得手淘团队flexible.js还是比较容易上手,在这里做下总结。

主体

flexible.js适配方案采用rem布局,根据屏幕分辨率大小不同,调整根元素html的font-size,从而达到每个元素宽高自动变化,适配不同屏幕

1.安装lib-flexible.js

npm install lib-flexible --save

1.在项目入口文件main.js中引入lib-flexible

import 'lib-flexible/flexible'

通过要以上两步,就完成了在vue项目使用lib-flexible来解决移动端适配了。

lib-flexible会自动在html的head中添加一个meta name="viewport"的标签,同时会自动设置html的font-size为屏幕宽度除以10,也就是1rem等于html根节点的font-size。假如设计稿的宽度是750px,此时1rem应该等于75px。假如量的某个元素的宽度是150px,那么在css里面定义这个元素的宽度就是 width: 2rem

这里需要注意几点:

1.检查一下html文件的head中,如果有 meta name="viewport"标签,需要将他注释掉,因为如果有这个标签的话,lib-flexible就会默认使用这个标签。而我们要使用lib-flexible自己生成的 meta name="viewport"来达到高清适配的效果。

2.因为html的font-size是根据屏幕宽度除以10计算出来的,所以我们需要设置页面的最大宽度是10rem。

3.如果每次从设计稿量出来的尺寸都手动去计算一下rem,就会导致我们效率比较慢,还有可能会计算错误,所以我们可以使用px2rem-loader自动将css中的px转成rem

使用 webpack 的 px2rem-loader,自动将px转换为rem

1.安装px2rem-loader

npm install px2rem-loader --save-dev

1.配置px2rem-loader

首先找到 build/utils.js文件,在utils.js中添加如下配置

详解vue.js移动端配置flexible.js及注意事项

找到generateLoaders方法,在函数里如下配置

详解vue.js移动端配置flexible.js及注意事项

1.px2rem 用法

安装px2rem后,再使用px上有些不同,大家可以参考px2rem官方介绍,下面简单介绍一下。

•直接写px,编译后会直接转化成rem —- 除开下面两种情况,其他长度用这个

•在px后面添加/*no*/,不会转化px,会原样输出。 —- 一般border需用这个

•在px后面添加/*px*/,会根据dpr的不同,生成三套代码。—- 一般字体需用这个

下面是本人写的实例代码,可以参考

原始代码:

.box{
  width: 150px;
  font-size: 28px; /*px*/
  border: 1px solid #ddd; /*no*/
}

编译后生成代码:

.box{
  width: 2rem;
  border: 1px solid #ddd;
}
[data-dpr="1"] .selector {
  font-size: 14px;
}
[data-dpr="2"] .selector {
  font-size: 28px;
}
[data-dpr="3"] .selector {
  font-size: 42px;
}

这样基本配置就完成了,重启项目就可以使用lib-flexible+rem编写移动端页面了

后缀

交个朋友,可以一起进阶前端学习

找到我: GitHub

总结

以上所述是小编给大家介绍的vue.js移动端配置flexible.js及注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JS 日期验证正则附asp日期格式化函数
Sep 11 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
Mar 03 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
Feb 23 Javascript
Vuex之理解Mutations的用法实例
Apr 19 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
小程序如何构建骨架屏
May 29 Javascript
JS算法教程之字符串去重与字符串反转
Dec 15 Javascript
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
小程序分享模块超级详解(推荐)
Apr 10 #Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 #Javascript
Vue中computed、methods与watch的区别总结
Apr 10 #Javascript
JavaScript 性能提升之路(推荐)
Apr 10 #Javascript
详解vue-cli3 中跨域解决方案
Apr 10 #Javascript
js中数组常用方法总结(推荐)
Apr 09 #Javascript
JS隐藏号码中间4位代码实例
Apr 09 #Javascript
You might like
PHP number_format() 函数定义和用法
2012/06/01 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
jQuery操作cookie
2016/08/08 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
python检测lvs real server状态
2014/01/22 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
python2 与python3的print区别小结
2018/01/16 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
python批量处理txt文件的实例代码
2020/01/13 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
Ajax和javascript的区别
2013/07/20 面试题
经典的毕业生自荐信范文
2014/04/14 职场文书
《长征》教学反思
2014/04/27 职场文书
初三学习计划书范文
2014/04/30 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
民事答辩状范本
2015/05/21 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书