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翻页效果
Jul 23 Javascript
<script defer> defer 是什么意思
May 10 Javascript
javascript 语法基础 想学习js的朋友可以看看
Dec 16 Javascript
js或jquery实现页面打印可局部打印
Mar 27 Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
Jun 20 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
原生js编写autoComplete插件
Apr 13 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
全屏滚动插件fullPage.js使用实例解析
Oct 21 Javascript
详解vuex状态管理模式
Nov 01 Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
php如何连接sql server
2015/10/16 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
Python画图学习入门教程
2016/07/01 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
python中的计时器timeit的使用方法
2017/10/20 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
python pygame实现2048游戏
2018/11/20 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
python中with用法讲解
2020/02/07 Python
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
建筑学推荐信
2013/11/03 职场文书
转让协议书范本
2014/04/15 职场文书
集中整治工作方案
2014/05/01 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
卖车协议书范例
2014/09/16 职场文书
大国崛起日本观后感
2015/06/02 职场文书
幽灵公主观后感
2015/06/09 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏