使用felxable.js适配pc端的Vue项目

今天做公司官网 需要针对不同pc屏幕做适配 想了半天觉得使用rem布局最美观 而且最好是使用flexable.js的最方便 不过这个 方案没有官方pc端的插件 需要使用原有移动端flexable.js进行改造:
具体如下:
1、首先安装flexable.js插件

npm i lib-flexible -S

2、安装自动将px转rem的插件:

npm i px2rem-loader -D

2.安装好了之后全局引入包,在main.js中添加如下代码

import 'lib-flexible'

3.在vue.config.js中添加如下代码(如果没有这个文件的话手动创建一个)

 css: {
        loaderOptions: {
           
            postcss: {
                plugins: [
                  require('postcss-px2rem')({
                    remUnit: 192
                  })
                ]
              }
        },
    },

值得注意的是remUnit,这个是填你们的设计稿的大小除以除以10

4.修改lib-flexible.js,

为什么要改,你会发现一个问题,移动端没问题,但是pc端他的大小只适配到540,

所以在安装包里node_modules中的lib-flexible.js文件,

其中修改如下代码

没改之前

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

修改之后

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

就是把540的宽度改成,当前屏幕的宽度

5.改完之后最重要的来了! 需要将项目停掉 然后重新跑一边 因为涉及到包和依赖的东西都是要重新build才有效
重新跑一遍后自己手动将浏览器窗口进行拉伸 就可以看到效果了

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值