vue项目PC端窗口大小自适应

本文介绍了如何在Vue项目中实现PC端窗口大小的自适应,主要依赖于阿里可伸缩布局方案lib-flexible,配合px2rem进行px转rem。在vue.config.js中设置缩放比例,main.js中引入flexible,并在必要时修改flexible.js源码,以解决屏幕宽度限制问题。最后在utils目录下创建flexible.js并引入到main.js,确保行内样式不会影响rem转换。
摘要由CSDN通过智能技术生成

一、npm安装依赖
项目基础配置使用 vue-cli 生成
自适应方案核心: 阿里可伸缩布局方案 lib-flexible
px转rem:px2rem,它有webpack的loader px2rem

npm i lib-flexible -S
cnpm install postcss-px2rem --save

二、在vue.config.js配置,这是按照1920*1080缩放

css: {
   
    loaderOptions: {
   
        postcss: {
   
            plugins: [
                require('postcss-px2rem')({
   remUnit: 192}), // 换算的基数
            ]
        }
    }
},

三、main.js 中引入flexible

import 'lib-flexible'

到这里自适应已经生效了
这里还有一个问题,就是屏幕宽度大于540的时候,把屏幕宽度写死成540了
找到路径\node_modules\lib-flexible\flexible.js
修改成这样
在这里插入图片描述
因为上边的修改,每次装依赖,都需要改动,这里提取出来就好:在utils目录下新建flexible.js文件
在这里插入图片描述
然后在main.js中引入
在这里插入图片描述

//flexible.js
;(function(win, lib) {
   
    var doc = win.document;
    var docEl = doc.documentElement;
    var metaEl = doc.querySelector('meta[name="viewport"]');
    var flexibleEl = doc.querySelector('meta[name="flexible"]');
    var dpr = 0;
    var scale = 0;
    var tid;
    var flexible = lib.flexible || (lib.flexible = {
   });

    if (metaEl) {
   
        console.warn('将根据已有的meta标签来设置缩放比例');
        var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值