vue项目中使用lib-flexible解决移动端适配的问题解决


Posted in Javascript onAugust 23, 2018

第一部分:项目中引入lib-flexible

一、项目中安装lib-flexible

$ npm install lib-flexible --save

二、在项目的入口js文件中引入lib-flexible

import 'lib-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

第二部分:使用px2rem-loader自动将css中的px转换成rem

一、安装px2rem-loader

$ npm install px2rem-loader --save-dev

二、配置px2rem-loader

1.打开build/utils.js文件,找到exports.cssLoaders方法,在里面添加如下代码

const px2remLoader = {
  loader: 'px2rem-loader',
  options: {
   remUint: 75
  }
 }

2.修改generateLoaders方法中的loaders

// 注释掉这一行
// const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
// 修改为
const loaders = [cssLoader, px2remLoader]
 
if (options.usePostCSS) {
 loaders.push(postcssLoader)
}

然后重新npm run dev,打开控制台可以看到代码中的px已经被转成了rem

注意:

1.此方法只能将.vue文件style标签中的px转成rem,不能将script标签和元素style里面定义的px转成rem

2.如果在.vue文件style中的某一行代码不希望被转成rem,只要在后面写上注释 /* no*/就可以了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 解析Json字符串的性能比较分析代码
Dec 16 Javascript
ajax提交表单实现网页无刷新注册示例
May 08 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
Jan 22 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
Feb 26 Javascript
Javascript中的prototype与继承
Feb 06 Javascript
原生js封装运动框架的示例讲解
Oct 01 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
详解JavaScript的BUG和错误
May 07 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
Apr 08 Javascript
详解vue-cli@2.x项目迁移日志
Jun 06 Javascript
Vue组件之高德地图地址选择功能的实例代码
Jun 21 Javascript
JS动态显示倒计时效果
Dec 12 Javascript
从零开始学习搭建React脚手架项目
Aug 23 #Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 #Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 #Javascript
JS实现的简单分页功能示例
Aug 23 #Javascript
JavaScript实用代码小技巧
Aug 23 #Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 #jQuery
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 #Javascript
You might like
php Imagick获取图片RGB颜色值
2014/07/28 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
newxtree.js代码
2007/03/13 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python2中文处理纪要的实现方法
2018/03/10 Python
python小程序实现刷票功能详解
2019/07/17 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
浅谈Python 函数式编程
2020/06/20 Python
Python连接Impala实现步骤解析
2020/08/04 Python
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
企业办公室岗位职责
2014/03/12 职场文书
保护环境建议书100字
2014/05/13 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
导游词之日月潭
2019/11/05 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Mysql 设置boolean类型的操作
2021/06/04 MySQL
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL