Vue實(shí)現(xiàn)PC端分辨率自適應(yīng)的示例代碼
方案
lib-flexible
+px2remLoader
lib-flexible
:阿里可伸縮布局方案px2rem-loader
:px
轉(zhuǎn)rem
安裝依賴
npm install px2rem-loader -D npm install lib-flexible -S
引入依賴
main.js
引入lib-flexible
import 'lib-flexible'
px轉(zhuǎn)換成rem
vue-loader
的options
和其他樣式文件loader
最終是都是由build/utils.js
里的方法生成的,我們只需在cssLoader
后再加上一個(gè)px2remLoader
即可,px2rem-loader
的remUnit
選項(xiàng)意思是 1rem=多少像素,結(jié)合lib-flexible
的方案,我們將px2remLoader
的options.remUnit
設(shè)置成設(shè)計(jì)稿寬度的1/10
,這里假設(shè)設(shè)計(jì)稿寬為1920px
build/utils.js
中添加px2remLoader
const cssLoader = { loader: 'css-loader', options: { sourceMap: options.sourceMap } } // 增加代碼,px轉(zhuǎn)rem配置(需要將px2remloader添加進(jìn)loaders數(shù)組中) const px2remLoader = { loader: 'px2rem-loader', options: { remUnit: 192, //根據(jù)視覺稿,rem為px的十分之一,1920px 192 rem // remPrecision: 8//換算的rem保留幾位小數(shù)點(diǎn) } }
放進(jìn)loaders數(shù)組中
// 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
將代碼修改為適應(yīng)PC端的代碼
function refreshRem(){ var width = docEl.getBoundingClientRect().width; if (width / dpr > 540) { width = width * dpr; } //縮放比例,可按實(shí)際情況修改 var rem = width / 8; docEl.style.fontSize = rem + 'px'; flexible.rem = win.rem = rem; }
對(duì)于不想被轉(zhuǎn)換的樣式,可在其后添加/*no*/
保證不被轉(zhuǎn)換
參考博客
VUE PC端適應(yīng)方案flexible + px2remLoader 感謝大佬
vue實(shí)現(xiàn)PC端分辨率適配 感謝大佬
到此這篇關(guān)于Vue實(shí)現(xiàn)PC端分辨率自適應(yīng)的示例代碼的文章就介紹到這了,更多相關(guān)Vue PC端分辨率自適應(yīng) 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
實(shí)現(xiàn)shallowReadonly和isProxy功能示例詳解
這篇文章主要為大家介紹了實(shí)現(xiàn)shallowReadonly和isProxy功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12vue項(xiàng)目創(chuàng)建步驟及路由router
本文主要給大家分享了vue項(xiàng)目的創(chuàng)建步驟以及vue路由router的相關(guān)知識(shí)點(diǎn),非常的實(shí)用,有需要的小伙伴可以來參考下2020-01-01Vue3新屬性之css中使用v-bind的方法(v-bind?in?css)
這篇文章主要介紹了Vue3新屬性css中使用v-bind(v-bind?in?css)的方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01vue組件中iview的modal組件爬坑問題之modal的顯示與否應(yīng)該是使用v-show
這篇文章主要介紹了vue組件中iview的modal組件爬坑問題之modal的顯示與否應(yīng)該是使用v-show,本文通過實(shí)例圖文相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04教你60行代碼實(shí)現(xiàn)一個(gè)迷你響應(yīng)式系統(tǒng)vue
這篇文章主要為大家介紹了教你60行代碼實(shí)現(xiàn)一個(gè)迷你響應(yīng)式系統(tǒng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-03-03vue 組件使用中的一些細(xì)節(jié)點(diǎn)
這篇文章主要介紹了vue 組件使用中的一些細(xì)節(jié)點(diǎn),大概有兩大細(xì)節(jié)點(diǎn),本文通過基礎(chǔ)實(shí)例給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-04-04使用vue-video-player實(shí)現(xiàn)直播的方式
在開發(fā)期間使用過video.js、mui-player等插件,發(fā)現(xiàn)這些video插件對(duì)移動(dòng)端的兼容性都不友好,最后發(fā)現(xiàn)一個(gè)在移動(dòng)端兼容不錯(cuò)的插件vue-video-player,下面通過場景分析給大家介紹使用vue-video-player實(shí)現(xiàn)直播的方法,感興趣的朋友一起看看吧2022-01-01vue項(xiàng)目如何使用$router.go(-1)返回時(shí)刷新原來的界面
這篇文章主要介紹了vue項(xiàng)目如何使用$router.go(-1)返回時(shí)刷新原來的界面問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09