vue项目在webpack2实现移动端字体自适配功能


Posted in Javascript onJune 02, 2020

使用vue开发移动端页面时,往往需要实现页面根据不同设备屏幕进行尺寸的适配,实现将px自动换算成rem单位,其实只需要安装下面的两个插件即可快速实现移动端适配问题。

1 准备工作:
a. 安装 px2rem-loader 插件:npm install px2rem-loader --save;

b. 安装 lib-flexible 插件:npm install lib-flexible --save;

2 插件的作用:
px2rem-loader插件的作用:我们通过配置基准,实现将px自动换算成rem,
lib-flexible插件的作用:根节点会根据页面视口变化而变化font-size大小。

3 在utils.js文件配置px2rem-loader:
安装完上边两个插件后,可以在package.json中查看到是否安装成功,以及他们的版本信息,其实一般安装插件时,如果没有自己指定版本,基本都会自动安装最新的版本。

vue项目在webpack2实现移动端字体自适配功能

4.打开build目录里边的utils.js文件:

vue项目在webpack2实现移动端字体自适配功能

找到下边对应的位置,添加红色框的代码:

比如我拿到的是750的设计稿,而我这里又配置成以750为基准,所以写样式时,设计稿标注的是多少px我就直接写成多少px就行,浏览器会自动换算rem单位。

vue项目在webpack2实现移动端字体自适配功能

在当前文件中,找到下边的generateLoaders (loader, loaderOptions)方法,将刚才新加的px2remLoader对象添加到下边下划线位置即可

vue项目在webpack2实现移动端字体自适配功能

然后打开当前项目的首页入口文件index.html:

vue项目在webpack2实现移动端字体自适配功能

新增meta标签:

vue项目在webpack2实现移动端字体自适配功能

关于上图中meta标签里边相关属性的简单描述:

viewport:简单来说就是指当前移动设备浏览器用于显示网页内容的可视区域,移动设备一般会自动给它设置默认值为980px或1024px(详细信息有兴趣可以自行网上查看下);

width=device-width:表示当前布局视口与理想视口一致 ( js获取理想视口:window.screen.width )。

initial-scale:设置页面初次显示时的缩放比例,值为1.0时表示当前显示的是未经缩放的页面。

其实在content里边还可以设置其它属性,比如:

maximum-scale:页面的最大缩放比例;

minimum-scale:页面的最小缩放比例;

user-scalable:用户是否可以手动缩放页面,值可以为no或yes,分别表示不允许缩放和允许缩放。

4 在项目中使用lib-flexible:

只需要在当前项目的main.js中引入:lib-flexible/flexible

vue项目在webpack2实现移动端字体自适配功能

5 效果:

vue项目在webpack2实现移动端字体自适配功能
vue项目在webpack2实现移动端字体自适配功能

6 总结:

通过上边在utils.js文件中对使用px2rem进行相关的中配置后,成功实现了自动将px换算成rem;

在main.js中引入lib-flexible/flexible,成功实现根节点根据页面视口变化而变化font-size大小。

画重点:
配置了rem,项目中样式直接写px就行,浏览器中看到的都是自动换算成rem的

到此这篇关于vue项目在webpack2实现移动端字体自适配的文章就介绍到这了,更多相关vue webpack2 移动端字体自适配内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
一个符号插入器 中用到的js代码
Sep 04 Javascript
JavaScript 面向对象的 私有成员和公开成员
May 13 Javascript
jQuery插件实现文字无缝向上滚动效果代码
Feb 25 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
May 17 Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 Javascript
JS实现简易的图片拖拽排序实例代码
Jun 09 Javascript
完美实现js拖拽效果 return false用法详解
Jul 28 Javascript
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
javaScript日期工具类DateUtils详解
Dec 08 Javascript
vue-cli3.0使用及部分配置详解
Aug 29 Javascript
js图片无缝滚动插件使用详解
May 26 Javascript
React实现类似淘宝tab居中切换效果的示例代码
Jun 02 #Javascript
实例分析javascript中的异步
Jun 02 #Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 #Javascript
js简单实现自动生成表格功能示例
Jun 02 #Javascript
JS中准确判断变量类型的方法
Jun 01 #Javascript
Vuex中的Mutations的具体使用方法
Jun 01 #Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 #Javascript
You might like
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
详解webpack的配置文件entry与output
2017/08/21 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
Python字符串逐字符或逐词反转方法
2015/05/21 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
Python中的heapq模块源码详析
2019/01/08 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
买房委托公证书
2014/04/08 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
劳动模范获奖感言
2015/07/31 职场文书
2016国培研修心得体会
2016/01/08 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js