Vue實現PC端解析度自適應的示例程式碼
阿新 • • 發佈:2021-08-20
目錄
- 方案
- 安裝依賴
- 引入依賴
- px轉換成rem
- 修改flexible.
- 參考部落格
方案
lib-flexible
+px2remLoader
lib-flexible
:阿里可伸縮佈局方案px2rem-loader
:px
轉rem
安裝依賴
npm install px2rem-loader -D npm install lib-flexible -S
引入依賴
main.js
引入lib-flexible
import 'lib-flexible'
px轉換成rem
-loader
的options
和其他樣式檔案loader
最終是都是由build/utils.js
裡的方法生成的,我們只需在Loader
px2remLoader
即可,px2rem-loader
的remUnit
選項意思是 1rem=多少畫素,結合lib-flexible
的方案,我們將px2remLoader
的options.remUnit
設定成設計稿寬度的1/10
,這裡假設設計稿寬為1920px
build/utils.js
中新增px2remLoader
const cssLoader = { loader: 'css-loader',options: { sourceMap: options.sourceMap } } // 增加程式碼,px轉rem配置(需要將px2remloader新增進loaders陣列中) const px2remLoader = { loader: 'px2rem-loader',options: { remUnit: 192,//根據視覺稿,rem為px的十分之一,1920px 192 rem // remPrecision: 8//換算的rem保留幾位小數點 } }
放進loaders陣列中
// generate loader string to be used with extract text plugin function generateLoaders (loader,loaderOptions) { const loaders = options.usePostCSS ? [cssLoader,postcssLoader,px2remLoader] : [cssLoader,px2remLoader] if (loader) { loaders.push({ loader: loader + '-loader',options: Object.assign({},loaderOptions,{ sourceMap: options.sourceMap }) }) } //... }
修改flexible.js
全域性搜尋flexible.js
將程式碼修改www.cppcns.com為適應PC端的程式碼mPhSexNwpg
function refreshRem(){ var width = docEl.getBoundingClientRect().width; if (width / dpr > 540) { width = width * dpr; } //縮放比例,可按實際情況修改 var rem = width / 8; docEl.style.fontSize = rem + 'px'; flexible.rem = win.rem = rem; }
對於不想被轉換的樣式,可在其後新增/*no*/
保證不被轉換
參考部落格
VUE PC端適應方案flexible + px2remLoader 感謝大佬
vue實現PC端解析度適配 感謝大佬
到此這篇關於Vue實現PC端解析度自適應的示例程式碼的文章就介紹到這了,更多相關Vue PC端解析度自適應 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!