vue-cli3自适应页面(flexible和 postcss-px2rem)

1.安装 flexible和 postcss-px2rem

npm i lib-flexible postcss-px2rem  --save

2.flexible和 postcss-px2rem插件作用

a.flexible会为页面根据屏幕自动添加标签,动态控制initial-scale,maximum-scale,minimum-scale等属性的值 ===>设备缩放比

例子:
flexible说明

b.postcss-px2rem会将px转换为rem,rem单位用于适配不同宽度的屏幕,根据标签的font-size值来计算出结果,1rem=html标签的font-size值。

如下所示:
box的单位为px,在网页运行时,自动转换成rem
postcss-px2rem说明

3.引入lib-flexible

在项目入口文件main.js 中引入lib-flexible
引入说明

import 'lib-flexible'

注意:由于flexible会动态给页面header中添加标签,所以务必请把目录 public/index.html 中的这个标签注释!!!

图片说明

问题:

我在上面的步骤全部完成后有一个问题,我明明设置的宽度是按1920来的,计算出来1rem=54px。
最后发现 flexible.js文件中:

找到问题了就解决问题,既然文件把屏幕宽度写死了,那就不写死:

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;
  }

flexible.js文件路径(node_modules\lib-flexible\flexible.js)

4.配置postcss-px2rem

px2rem的配置放在vue-cli3 项目中vue.config.js中。
vue-cli3创建的项目是没有vue.config.js的,但是最后你开发完了项目也要打包的时候也得手动创建这个文件!

手动在项目根目录创建vue.config.js,引入代码

下面是vue.config.js,复制过去可直接使用

module.exports = {
    // css相关配置
    css: {
        // 启用 CSS modules
        modules: false,
        // 是否使用css分离插件
        extract: true,
        // 开启 CSS source maps?
        sourceMap: false,
        // css预设器配置项
        loaderOptions: {
            css: {},
            postcss: {
                plugins: [
                    //remUnit这个配置项的数值是多少呢??? 通常我们是根据设计图来定这个值,原因很简单,便于开发。
                    //假如设计图给的宽度是1920,我们通常就会把remUnit设置为192,这样我们写样式时,可以直接按照设计图标注的宽高来1:1还原开发。
                    require('postcss-px2rem')({
                        remUnit: 192
                    })
                ]
            }
        },
    },
}

remUnit :假如设计图给的宽度是1920,我们通常就会把remUnit设置为192(设计图宽度的十分之一),这样我们写样式时,可以直接按照设计图标注的宽高来1:1还原开发。
现在重启项目,看一下运行结果.

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
8136次浏览 75人参与
# 你的实习产出是真实的还是包装的? #
1493次浏览 37人参与
# MiniMax求职进展汇总 #
23529次浏览 305人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7266次浏览 40人参与
# 简历第一个项目做什么 #
31433次浏览 319人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186697次浏览 1118人参与
# 米连集团26产品管培生项目 #
5341次浏览 213人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152171次浏览 887人参与
# 研究所笔面经互助 #
118827次浏览 577人参与
# 重来一次,我还会选择这个专业吗 #
433206次浏览 3924人参与
# 简历中的项目经历要怎么写? #
309816次浏览 4176人参与
# 面试紧张时你会有什么表现? #
30452次浏览 188人参与
# 你今年的平均薪资是多少? #
212883次浏览 1039人参与
# AI时代,哪些岗位最容易被淘汰 #
63109次浏览 773人参与
# 我的求职精神状态 #
447904次浏览 3128人参与
# 你最满意的offer薪资是哪家公司? #
76323次浏览 374人参与
# 正在春招的你,也参与了去年秋招吗? #
362991次浏览 2635人参与
# 你怎么看待AI面试 #
179654次浏览 1206人参与
# 牛客AI文生图 #
21374次浏览 237人参与
# 职能管理面试记录 #
10766次浏览 59人参与
# 网易游戏笔试 #
6420次浏览 83人参与
# 腾讯音乐求职进展汇总 #
160518次浏览 1108人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务