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精华代码集
Jan 24 Javascript
javascript贪吃蛇完整版(源码)
Dec 09 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
再谈JavaScript线程
Jul 10 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
AngularJS入门教程之Helloworld示例
Dec 25 Javascript
浅谈js中的变量名和函数名重名
Feb 13 Javascript
zTree获取当前节点的下一级子节点数实例
Sep 05 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 jQuery
从零开始学习搭建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之require/include顺序 推荐
2011/01/02 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
js select常用操作控制代码
2010/03/16 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
理解AngularJs指令
2015/12/10 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
JS中的eval 为什么加括号
2016/04/13 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
Django中使用locals()函数的技巧
2015/07/16 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
keras 读取多标签图像数据方式
2020/06/12 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
国外的一些J2EE面试题一
2012/10/13 面试题
销售部主管岗位职责
2013/12/18 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
局火灾防控工作方案
2014/05/25 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
银行求职信怎么写
2019/06/20 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS