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图片预加载示例
Apr 30 Javascript
js实现按Ctrl+Enter发送效果
Sep 18 Javascript
jQuery函数map()和each()介绍及异同点分析
Nov 08 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
Oct 17 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
Node.js Express安装与使用教程
May 11 Javascript
详解小程序退出页面时清除定时器
Apr 28 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 Javascript
动态规划之使用备忘录来改进Javascript函数
Apr 07 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
Terran热键控制
2020/03/14 星际争霸
php 一元分词算法
2009/11/30 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
python实现一个简单的并查集的示例代码
2018/03/19 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Python实现播放和录制声音的功能
2020/08/12 Python
Python实现异步IO的示例
2020/11/05 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
类如何去实现接口
2013/12/19 面试题
AJax面试题
2014/11/25 面试题
个人职业生涯规划书1500字
2013/12/31 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
python处理json数据文件
2022/04/11 Python