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 相关文章推荐
破解Session cookie的方法
Jul 28 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
May 14 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
AngularJS入门教程(零):引导程序
Dec 06 Javascript
JS判断是否长按某一键的方法
Mar 02 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
Aug 01 Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
AngularJS中的promise用法分析
May 19 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
Apr 26 Javascript
小程序如何写动态标签的实现方法
Feb 05 Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
初识ThinkPHP控制器
2016/04/07 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
介绍Python中的__future__模块
2015/04/27 Python
python 远程统计文件代码分享
2015/05/14 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
白色公司:The White Company
2017/10/11 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
预备党员党校学习自我评价分享
2013/11/12 职场文书
2014年残联工作总结
2014/11/21 职场文书
房屋认购协议书
2015/01/29 职场文书
大学毕业生个人总结
2015/02/28 职场文书
学术会议通知
2015/04/15 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技