1. 程式人生 > 其它 >vue3.0配置px轉vw

vue3.0配置px轉vw

使用postcss-px-to-viewport轉換px成vw

1,安裝

npm install postcss-px-to-viewport --save-dev

2,在根目錄新建postcss.config.js;

 

 

 

const path = require('path');
module.exports = ({file}) => {
    const designWidth = file.includes(path.join('node_modules', 'vant')) ? 375 : 750;// vant團隊是根據375px的設計稿去做的
    return
{ plugins: { 'postcss-px-to-viewport': { unitToConvert: 'px', // 需要轉換的單位,預設為"px" viewportWidth: designWidth, // 設計稿的視口寬度 unitPrecision: 5, // 單位轉換後保留的精度 propList: ['*'], // 能轉化為vw的屬性列表 viewportUnit: 'vw', // 希望使用的視口單位
fontViewportUnit: 'vw', // 字型使用的視口單位 selectorBlackList: ['.ignore', '.hairlines', '.ig-'], // 需要忽略的CSS選擇器 minPixelValue: 1, // 最小的轉換數值,如果為1的話,只有大於1的值會被轉換 mediaQuery: false, // 媒體查詢裡的單位是否需要轉換單位 replace: true, // 是否直接更換屬性值,而不新增備用屬性
include: undefined, // 如果設定了include,那將只有匹配到的檔案才會被轉換,例如只轉換 'src/mobile' 下的檔案 (include: /\/src\/mobile\//) landscape: false, // 是否新增根據 landscapeWidth 生成的媒體查詢條件 @media (orientation: landscape) landscapeUnit: 'vw', // 橫屏時使用的單位 landscapeWidth: 568 // 橫屏時使用的視口寬度 } } } }
一般我們的設計稿是750;但是vantui是375;需要適配一下vantui
    const designWidth = file.includes(path.join('node_modules', 'vant')) ? 375 : 750;// vant團隊是根據375px的設計稿去做的

這樣就好了,大功告成