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与flash交互通信基础教程
Aug 07 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
Jan 25 Javascript
JavaScript起点(严格模式深度了解)
Jan 28 Javascript
使用AngularJS对路由进行安全性处理的方法
Jun 18 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
JQuery实现定时刷新功能代码
May 09 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
Express系列之multer上传的使用
Oct 27 Javascript
让你5分钟掌握9个JavaScript小技巧
Jun 09 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
Nov 01 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 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 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
神路信息Java面试题目
2013/03/31 面试题
大学活动策划书范文
2014/01/10 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
村委会贫困证明范本
2014/09/17 职场文书
毕业证委托书范文
2014/09/26 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
2015选调生工作总结
2015/07/24 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书