当前位置: 首页>移动开发>正文

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式

前言

最近在学习Vue的项目架构,查询了很多移动端样式适配,整合了一下我自己的适配方案做一个记录,可能不是最好的,但我自己用着还蛮顺手的~欢迎大家补充


一、字体篇——px2rem-loader

引言:

常规的字体大小使用px的话是写死的,那么rem由此诞生,根据html页面的根节点去计算相对大小,但是如此一来,如果是pc和移动端都适配的项目,那么我们在针对设计稿画ui的时候,px和rem的换算就异常痛苦了。

因此我选择引入了px2rem-loader组件,通过全局配置的方式让框架自己去计算rem和px的换算。

配置方法:

首先npm install px2rem-loader引个包

1、在vue.config.js中将loader引入使他在webpack打包的时候就加载,具体参数自己查一下吧解释起来有点多。

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式,vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式_前端框架,第1张

2、然后在你的全局样式的地方添加一个混入样式

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式,vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式_前端框架_02,第2张

 这个文件中同样可以添加你需要的其他的全局样式函数之类的

3、在需要的地方引入

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式,vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式_vue.js_03,第3张

我们可以看到在使用px2rem函数后直接用px插件会帮我们转换成rem就很方便。

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式,vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式_前端框架_04,第4张

当然也有类似postcss-px2rem的插件功能相近,如果想全局注册的看我主页的全局变量使用,不过不是很推荐这么干,函数类的暂时不是很熟会碰到啥bug咱还不清楚,等研究明白了再补充

二、样式类——vue-breakpoint-component配合vuex

引言:

移动端适配常用的是amfe-flexible和postcss-pxtorem,可以做到样式宽度的重新计算。详情配置可以见下面这条帖子。

但是这样会出现一个问题,类似下面两张图,移动端和pc端的样式如果只是常规的压缩那未免也太丑了,如果需要两套样式更具环境变换上面这种方法可能不是那么好实现,样式就不太好处理了。

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式,vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式_移动端_05,第5张

 

vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式,vue移动端适配 ios和安卓样式不一致 vue兼容pc和手机端样式_vue.js_06,第6张

因此想到vuex中的状态管理,我的方案是通过引入vue的断点插件,由状态管理去判断页面使用哪套样式。

配置方法:

1、常规引包npm install vue-breakpoint-component -save

插件的详细参数直接看源码的描述文件吧

GitHub - adi518/vue-breakpoint:


https://www.xamrdz.com/mobile/4d71937298.html

相关文章: