vue3 数据大屏实现屏幕自适应 px转rem amfe-flexible

安装依赖

pnpm i amfe-flexible autoprefixer postcss postcss-loader postcss-pxtorem

引入amfe-flexible

main.js 引入 amfe-flexible

import 'amfe-flexible'

创建配置文件 postcss.config.cjs

根目录创建postcss.config.cjs

module.exports = {
    plugins: {
        autoprefixer: {},
        // flexible配置
        "postcss-pxtorem": {
            "rootValue": 192,// 设计稿宽度或者目前正常分辨率的1/10
            selectorBlackList: [".ivu"],// 要忽略的选择器并保留为px。
            minPixelValue: 2,// 设置要替换的最小像素值。
            "propList": [
                "*"
            ]// 需要做转化处理的属性,如`hight`、`width`、`margin`等,`*`表示全部
        }
    }
}
module.exports = {
  plugins: {
    //   tailwindcss: {},
    // 兼容浏览器,添加前缀
    autoprefixer: {},
    'postcss-pxtorem': {
      rootValue: 192, // 结果为:设计稿元素尺寸/16,比如元素宽320px,最终页面会换算成 20rem 设计稿宽度或者目前正常分辨率的1/10
      propList: ['*'], // 是一个存储哪些将被转换的属性列表,这里设置为['*']全部,假设需要仅对边框进行设置,可以写['*', '!border*']
      unitPrecision: 5, // 保留rem小数点多少位
      // selectorBlackList: ['.radius'],  //则是一个对css选择器进行过滤的数组,比如你设置为['fs'],那例如fs-xl类名,里面有关px的样式将不被转换,这里也支持正则写法。
      replace: true, // 这个真不知到干嘛用的。有知道的告诉我一下
      mediaQuery: false, // 媒体查询( @media screen 之类的)中不生效
      minPixelValue: 2 // px小于2的不会被转换
    }
  }
}

你可能感兴趣的:(前端postcssvue3)