欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【项目实战经验】vuecli3,实现PC端分辨率适配

程序员文章站 2022-03-14 18:09:55
vue cli3,根据屏幕大小适配样式 最近做了一个大屏,考虑到要在不同的显示器上,显示同一套代码,所以我就想到了,阿里的“lib-flexible”,干货非常多,千万不要错过细节哦,废话不说,直接干 1.安装需要响应的包npm i lib-flexible -S这个包会有改动的东西,先卖个关子,最后会详细说。 (2)安装第二个包npm i px2rem-loader -D2.安装好了之......

                                 vue cli3,根据屏幕大小适配样式

        最近做了一个大屏,考虑到要在不同的显示器上,显示同一套代码,所以我就想到了,阿里的“lib-flexible”,

干货非常多,千万不要错过细节哦,废话不说,直接干

  1.安装需要响应的包

npm i lib-flexible -S

这个包会有改动的东西,先卖个关子,最后会详细说。

   (2)安装第二个包

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,这个是填你们的设计稿的大小除以2,再除以10,不过这个要注意一点,当你改完lib-flexible时,你就需要填写除以设计稿的10就可以了。

4.修改lib-flexible.js,

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

所以在安装包里找到  lib-flexible,包中的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.改完之后如何在项目中同步更新呢?

接下来把这个文件复制出来,放到lib文件下

然后在main.js中

把import 'lib-flexible'改成import './lib/lib-flexible',

这样就可以在所有项目同步了,不用每个人都改了。

如果这篇文章帮到您了,

麻烦您动下发财小手,评论、点赞、转发、收藏、或者打赏

本文地址:https://blog.csdn.net/qq_36131502/article/details/107316908