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 相关文章推荐
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
Oct 17 Javascript
JavaScript的变量作用域深入理解
Oct 25 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
Apr 26 Javascript
javascript使用onclick事件改变选中行的颜色
Dec 30 Javascript
JavaScript函数模式详解
Nov 07 Javascript
jQuery Validate验证框架经典大全
Sep 23 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
Jun 08 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
详解微信小程序开发(项目从零开始)
Jun 06 Javascript
layui自定义工具栏的方法
Sep 19 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 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
咖啡与水的关系
2021/03/03 冲泡冲煮
配置支持SSI
2006/11/25 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
python实现隐马尔科夫模型HMM
2018/03/25 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
python django model联合主键的例子
2019/08/06 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
一份软件工程师的面试试题
2016/02/01 面试题
医学院四年学习生活的自我评价
2013/11/06 职场文书
好的演讲稿开场白
2013/12/30 职场文书
简单的辞职信范文
2014/01/18 职场文书
小班重阳节活动方案
2014/02/08 职场文书
会计工作决心书
2014/03/11 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript