詳解vue中移動(dòng)端自適應(yīng)方案
方案1:
直接引入js (自己 寫(xiě)的動(dòng)態(tài)改變fontsize的js)
function htRem() {
var ww = document.documentElement.clientWidth;
if (ww > 750) {
ww = 750;
}
document.documentElement.style.fontSize = ww / 7.5 + "px";
}
htRem();
window.onresize = function() {
htRem();
};
在main.js中import引入即可
方案二:手淘的 lib-flexible + rem
配置 flexible
安裝 lib-flexible
在命令行中運(yùn)行如下安裝:
npm i lib-flexible --save
引入 lib-flexible
在項(xiàng)目入口文件 main.js 里 引入 lib-flexible
// main.js import 'lib-flexible'
添加 meta 標(biāo)簽
在項(xiàng)目根目錄的 index.html 中添加如下 meta
<meta name="viewport" content="width=device-width, initial-scale=1.0">
px 轉(zhuǎn) rem
實(shí)際開(kāi)發(fā)中,我們通過(guò)設(shè)計(jì)稿得到的值單位是 px,所以要將 px 轉(zhuǎn)換成 rem 再寫(xiě)進(jìn)樣式中。
將 px 轉(zhuǎn)換成 rem 我們將使用 px2rem 這個(gè)工具,它有 webpack 的 loader:px2rem-loader
安裝 px2rem-loader
在命令行中運(yùn)行如下安裝:
npm i px2rem-loade --save-dev
配置 px2rem-loade
在 vue-cli 生成的 webpack 配置中,vue-loader 的 options 和其他樣式文件 loader 最終是都是由 build/utils.js 里的一個(gè)方法生成的。
我們只需在 cssLoader 后再加上一個(gè) px2remLoader 即可,px2rem-loader 的 remUnit 選項(xiàng)意思是 1rem=多少像素,結(jié)合 lib-flexible 的方案,我們將 px2remLoader 的 options.remUnit 設(shè)置成設(shè)計(jì)稿寬度的 1/10,這里我們假設(shè)設(shè)計(jì)稿寬為 750px。
// utils.js
var cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
var px2remLoader = {
loader: 'px2rem-loader',
options: {
remUnit: 75
}
}
// ...
并放進(jìn) loaders 數(shù)組中
// utils.js
function generateLoaders(loader, loaderOptions) {
var loaders = [cssLoader, px2remLoader]
// ...
修改配置后需要重啟,然后我們?cè)诮M件中寫(xiě)單位直接寫(xiě) px,設(shè)計(jì)稿量多少就可以寫(xiě)多少了,舒服多了。
以上所述是小編給大家介紹的vue移動(dòng)端自適應(yīng)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Vue3+ElementPlus el-date-picker設(shè)置可選時(shí)間范圍的示例代碼
在Vue3中使用Element Plus的el-date-picker組件設(shè)置可選時(shí)間范圍,你可以使用disabled-date屬性,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-07-07
vue使用pdf-dist實(shí)現(xiàn)pdf預(yù)覽以及水印添加
這篇文章主要為大家詳細(xì)介紹了vue如何使用pdf-dist實(shí)現(xiàn)pdf預(yù)覽以及水印添加的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
Vue引用第三方datepicker插件無(wú)法監(jiān)聽(tīng)datepicker輸入框的值的解決
這篇文章主要介紹了Vue引用第三方datepicker插件無(wú)法監(jiān)聽(tīng)datepicker輸入框的值的解決,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
詳解Vue微信公眾號(hào)開(kāi)發(fā)踩坑全記錄
本篇文章主要介紹了詳解Vue微信公眾號(hào)開(kāi)發(fā)踩坑全記錄,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
vite+vue3項(xiàng)目解決低版本兼容性問(wèn)題解決方案(Safari白屏)
這篇文章主要介紹了vite+vue3項(xiàng)目解決低版本兼容性問(wèn)題(Safari白屏),使用官方插件 @vitejs/plugin-legacy 為打包后的文件提供傳統(tǒng)瀏覽器兼容性支持,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
利用Vue3實(shí)現(xiàn)拖拽定制化首頁(yè)功能
vue3正式版已經(jīng)發(fā)布大半年了,咱也得緊跟時(shí)代潮流,vue3帶來(lái)的很多改變,下面這篇文章主要給大家介紹了關(guān)于利用Vue3實(shí)現(xiàn)拖拽定制化首頁(yè)功能的相關(guān)資料,需要的朋友可以參考下2022-05-05
基于vue+echarts數(shù)據(jù)可視化大屏展示的實(shí)現(xiàn)
這篇文章主要介紹了基于vue+echarts數(shù)據(jù)可視化大屏展示的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

