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 相关文章推荐
javascript实现的网页局布刷新效果
Dec 01 Javascript
JavaScript中的isXX系列是否继续使用的分析
Apr 16 Javascript
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
javascript中in运算符用法分析
Apr 28 Javascript
AngularJS 让人爱不释手的八种功能
Mar 23 Javascript
AngularJs  unit-testing(单元测试)详解
Sep 02 Javascript
微信小程序 框架详解及实例应用
Sep 26 Javascript
详解使用nvm安装node.js
Jul 18 Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 Javascript
在vue中给列表中的奇数行添加class的实现方法
Sep 05 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
Apr 22 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
Oct 09 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
Symfony2 session用法实例分析
2016/02/04 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
javascript 隔行换色函数代码
2010/10/24 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
Python 初始化多维数组代码
2008/09/06 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
Windows下python3.7安装教程
2018/07/31 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
会计求职自荐信
2014/06/20 职场文书
法人授权委托书范本
2014/09/17 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS