VueCLI4.x+Vue2.x 使用postcss-px2rem和lib-flexible解决自适应问题 (解决组件样式被修改失效问题)

简介

前端页面移动端免不了需要自适应高度宽度字体大小等等,如果直接写rem的话那会很麻烦,前端还需要根据设计图自己去转rem写样式,那样会非常麻烦且不易维护。本文将介绍前端写px像素单位自动转为rem单位。

步骤

一、安装组件

npm install --save postcss-px2rem-exclude   
npm install --save lib-flexible   

再main.js中引入

import 'lib-flexible'

安装完成后配置postcss,在这里如果使用在vue.config.js中配置则会导致使用的ui库中的属性也会改变,所以在这里安装的是postcss-px2rem-exclude ,配置文件则在packge.json中。
packge.json中添加以下内容

  "postcss": {
    "plugins": {
      "autoprefixer": {},
      "postcss-px2rem-exclude": {
        "remUnit": 200,
        "exclude": "/node_modules|floder_name/i"
      }
    }
  }

之后在node_modules->lib-flexible->flexible.js 中将函数refreshRem的内容换成以下内容:

    function refreshRem(){
        var width = docEl.getBoundingClientRect().width;
        if (width / dpr < 1980) {
            width = 1980 * dpr;
        } else if (width / dpr > 5760) {
            width = 5760 * dpr;
        }
        var rem = width / 10;
        docEl.style.fontSize = rem + 'px';
        flexible.rem = win.rem = rem;
    }

其他

如果出现字体过小的问题,建议在App.vue的全局样式中设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值