博客 / 詳情

返回

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的不會被轉換
    }
  }
}
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.