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 相关文章推荐
最近项目写了一些js,水平有待提高
Jan 31 Javascript
javascript中定义类的方法汇总
Dec 28 Javascript
javascript十六进制及二进制转化的方法
May 06 Javascript
关于iframe跨域POST提交的方法示例
Jan 15 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
vue 使用鼠标滚动加载数据的例子
Oct 31 Javascript
vue多个元素的样式选择器问题
Nov 29 Javascript
详解小程序横屏方案对比
Jun 28 Javascript
vue中用 async/await 来处理异步操作
Jul 18 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
JavaScript的Cookies
2008/01/16 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
Vue实现boradcast和dispatch的示例
2020/11/13 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
十条建议帮你提高Python编程效率
2016/02/16 Python
python生成二维码的实例详解
2017/10/29 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
canvas线条的属性详解
2018/03/27 HTML / CSS
毕业生多媒体设计求职信
2013/10/12 职场文书
幼师专业求职推荐信
2013/11/08 职场文书
逃课上网检讨书
2014/02/20 职场文书
服务行业口号
2014/06/11 职场文书
2014年营销工作总结
2014/11/22 职场文书
会议简讯范文
2015/07/20 职场文书
商业计划书之服装
2019/09/09 职场文书
python可视化之颜色映射详解
2021/09/15 Python