react專案引入posscss實現移動端適配,px轉換vw
阿新 • • 發佈:2021-11-26
首先,安裝依賴:
"autoprefixer": "^8.0.0", "postcss-loader": "3.0.0", "postcss-plugin-px2rem": "^0.8.1", "postcss-px-to-viewport": "^1.1.1", 接下來修改配置,我看到有的作者是在專案根目錄下建立postcss.config.js,配置如下:module.exports = { plugins: [ require('autoprefixer'), require('postcss-px-to-viewport')({ unitToConvert:但是我配置了之後並沒有效果,於是在webpack.config.js檔案中配置,在100行左右的位置找到getStyleLoaders,在下面新增如下配置:'px', viewportWidth: 750, unitPrecision: 5, propList: ['*'], viewportUnit: 'vw', fontViewportUnit: 'vw', selectorBlackList: [], minPixelValue: 1, mediaQuery: false, replace: true, exclude: undefined, include: undefined, }), ], remove:false, }
{ loader: require.resolve('postcss-loader'), options: { ident: 'postcss', plugins: () => [ require('autoprefixer'), require('postcss-px-to-viewport') ({ unitToConvert:'px', // 要轉化的單位 viewportWidth: 750, // UI設計稿的寬度 unitPrecision: 5, // 轉換後的精度,即小數點位數 propList: ['*'], // 指定轉換的css屬性的單位,*代表全部css屬性的單位都進行轉換 viewportUnit: 'vw', // 指定需要轉換成的視窗單位,預設vw fontViewportUnit: 'vw', // 指定字型需要轉換成的視窗單位,預設vw selectorBlackList: [], // 指定不轉換為視窗單位的類名, minPixelValue: 1, // 預設值1,小於或等於1px則不進行轉換 mediaQuery: false, // 是否在媒體查詢的css程式碼中也進行轉換,預設false replace: true, // 是否轉換後直接更換屬性值 exclude: undefined, // 設定忽略檔案,用正則做目錄名匹配 include: undefined, }) ], // sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment, }, },
最後檢視效果: -->程式碼:
.justifyFlex { width: 720px; margin: 20px auto 0; background: darkolivegreen; display: flex; align-items: stretch; }
--> 瀏覽器展示: