vue移动端适配方案

使用Flexible.js

解决Vue项目移动端适配,可以使用Flexible.js,是一个用于淘宝移动端适配的库,可以根据屏幕宽度动态设置html,body的font-size。
具体方法:
1.在Vue项目中安装2个插件:

(1)为html,body动态添加添加font-size

npm install amfe-flexible

(2)将px转为rem

npm install postcss-pxtorem
2.安装后在main.js中引入amfe-flexiblee
import 'amfe-flexible'
3.配置postcss-pxtorem

可在vue.config.js、.postcssrc.js、postcss.config.js其中之一配置,权重从左到右降低,没有则新建文件,只需要设置其中一个即可。示例:在vue.config.js中配置如下:

module.exports = defineConfig({
  //px转rem
  css: {
    loaderOptions:{
      postcss: {
        plugins: [
          require("autoprefixer")(),// 补全css前缀(解决兼容性)
          require('postcss-pxtorem')({
            rootValue({file}){
                return file.indexOf('vant') !==-1 ? 37.5 : 75
            },// 换算基数,一般是设计稿宽度的1/10,这里以750px设计稿为例
            propList: ['*'],//可以从px更改为rem的属性,例如:width height padding...
            unitPrecision: 5 // 单位精度
            // propWhiteList: [], // 白名单属性,[]表示允许转换所有属性
            // propBlackList: [], // 黑名单属性,[]表示不转换任何属性
            // exclude: /(node_module)/, // 匹配不处理的文件
            // selectorBlackList: [], // 要忽略并保留为px的选择器
            // ignoreIdentifier: false, // (boolean/string)忽略单个属性的转换。当传递true时,所有的属性都会被转换,但是class名例外。传递一个正则表达式时,例如 /^body$/ ,只有class名匹配这个正则表达式的属性会被保留
            // replace: true, // (boolean)替换包含REM的规则,而不是添加回退
            // mediaQuery: false, // (boolean)允许在媒体查询中转换px为rem
            // minPixelValue: 0, // 设置要转换的最小像素值(px),小于此值的属性不会转换

          })
        ]
      }
    }
  }
})
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值