欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于移動(dòng)端與大屏幕自適應(yīng)適配方案

 更新時(shí)間:2022年10月19日 11:11:03   作者:大橘為重¨  
這篇文章主要介紹了關(guān)于移動(dòng)端與大屏幕自適應(yīng)適配方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、安裝并配置相應(yīng)插件

1.安裝lib-flexible與postcss-pxtorem

使用npm下載包

注:下載 postcss 版本為5.1.1(其它版本可能會(huì)出現(xiàn)報(bào)錯(cuò))

npm i lib-flexible?
npm i postcss-pxtorem@5.1.1

2.配置lib-flexible與postcss-pxtorem

配置 postcss-pxtorem 設(shè)置頁(yè)面px自動(dòng)轉(zhuǎn)換為rem

創(chuàng)建vue.config.js文件,添加如下配置:

//vue.config.js
const pxtorem = require('postcss-pxtorem')
module.exports = {
? ? css: {
? ? ? ? loaderOptions: {
? ? ? ? ? ? postcss: {
? ? ? ? ? ? ? ? plugins: [
? ? ? ? ? ? ? ? ? ? pxtorem({
? ? ? ? ? ? ? ? ? ? ? ? rootValue: 80, ?//這里設(shè)置參考"設(shè)計(jì)稿大小"和自己認(rèn)為"合適的劃分比例"(例:1920/24 = 80)
? ? ? ? ? ? ? ? ? ? ? ? propList: ['*'],
? ? ? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? ]
? ? ? ? ? ? }
? ? ? ? }
? ? }
}

注:該插件可以把組件庫(kù)的px也轉(zhuǎn)化為rem

按需修改 lib-flexible 源碼配置

在 main.js 引入 lib-flexible

import 'lib-flexible'

修改"node_modules\lib-flexible\flexible.js"下源碼配置

function refreshRem(){
? ? var width = docEl.getBoundingClientRect().width;
? ? //這里代表適配744~5760寬度的屏幕視圖,可以按需修改
? ? if (width / dpr < 744) {
? ? ? ? width = 744 * dpr;
? ? } else if (width / dpr > 5760) {
? ? ? ? width = 5760 * dpr;
? ? }
? ? //這里width的相除值需要和前面vue.config.js文件下rootValue的相除值相同
? ? var rem = width / 24;
? ? docEl.style.fontSize = rem + 'px';
? ? flexible.rem = win.rem = rem;
}

效果: 

二、設(shè)置移動(dòng)端適配

這里主要講將pc端頁(yè)面等比縮放到移動(dòng)端顯示,并且支持移動(dòng)端用戶對(duì)頁(yè)面進(jìn)行放大和縮小查看

于 src 下新建 utils 文件在其中創(chuàng)建 adaptive.config.js文件

編寫(xiě)如下代碼:

import { onMounted } from "vue";
// 判斷客戶端設(shè)備
const _isMobile = () => {
? ? let flag = navigator.userAgent.match(
? ? ? ? /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
? ? );
? ? return flag;
};
// "移動(dòng)端"手動(dòng)添加 mate 標(biāo)簽函數(shù)
const addMeta = (name, content) => {
? ? const meta = document.createElement("meta");
? ? meta.content = content;
? ? meta.name = name;
? ? document.getElementsByTagName("head")[0].appendChild(meta);
};
// 渲染頁(yè)面配置 mate 標(biāo)簽?
export default function adaptive() {
? ? onMounted(() => {
? ? ? ? if (_isMobile()) {
? ? ? ? ? ? console.log("手機(jī)");
? ? ? ? ? ? addMeta("viewport", "user-scalable=yes");
? ? ? ? } else {
? ? ? ? ? ? console.log("pc");
? ? ? ? }
? ? });
}

在 App.vue 下導(dǎo)入使用:

<script>
import adaptive from './utils/adaptive.config';
export default {
? setup() {
? ? adaptive()
? },
}
</script>

注:如果直接修改html上meta標(biāo)簽屬性可能是影響到 lib-flexible 的原因會(huì)出現(xiàn)移動(dòng)端無(wú)法等比縮放的問(wèn)題出現(xiàn),故用此方法移動(dòng)端下動(dòng)態(tài)修改meta標(biāo)簽。

三、注意問(wèn)題

  • element有些組件會(huì)有內(nèi)聯(lián)樣式,postcss-pxtorem無(wú)法使內(nèi)聯(lián)樣式由px轉(zhuǎn)換為rem
  • 這里建議自己注意一下在組件的屬性值設(shè)置并自行修改,或者用媒體查詢進(jìn)行組件樣式修改

例如:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • js 實(shí)現(xiàn)拖拽排序詳情

    js 實(shí)現(xiàn)拖拽排序詳情

    這篇文章主要介紹了js 實(shí)現(xiàn)拖拽排序,拖拽排序?qū)τ谛』锇閭儊?lái)說(shuō)應(yīng)該不陌生,平時(shí)工作的時(shí)候,可能會(huì)選擇使用類(lèi)似Sortable.js這樣的開(kāi)源庫(kù)來(lái)實(shí)現(xiàn)需求。但在完成需求后,大家有沒(méi)有沒(méi)想過(guò)拖拽排序是如何實(shí)現(xiàn)的呢?感興趣得話一起來(lái)看看下面文章得小心內(nèi)容吧
    2021-11-11
  • vue中使用svg-icon遇到的坑及解決

    vue中使用svg-icon遇到的坑及解決

    這篇文章主要介紹了vue中使用svg-icon遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue3.0+element Plus實(shí)現(xiàn)頁(yè)面布局側(cè)邊欄菜單路由跳轉(zhuǎn)功能

    vue3.0+element Plus實(shí)現(xiàn)頁(yè)面布局側(cè)邊欄菜單路由跳轉(zhuǎn)功能

    這篇文章主要介紹了vue3.0+element Plus實(shí)現(xiàn)頁(yè)面布局,側(cè)邊欄菜單路由跳轉(zhuǎn),需要的朋友可以參考下
    2023-07-07
  • 淺談使用Vue完成移動(dòng)端apk項(xiàng)目

    淺談使用Vue完成移動(dòng)端apk項(xiàng)目

    這幾天,我做了一個(gè)vue移動(dòng)端的小項(xiàng)目,本文主要介紹了Vue移動(dòng)端apk項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 使用vue2.0創(chuàng)建的項(xiàng)目的步驟方法

    使用vue2.0創(chuàng)建的項(xiàng)目的步驟方法

    這篇文章主要介紹了使用vue2.0創(chuàng)建的項(xiàng)目的步驟方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • ElementPlus組件與圖標(biāo)按需自動(dòng)引入的實(shí)現(xiàn)方法

    ElementPlus組件與圖標(biāo)按需自動(dòng)引入的實(shí)現(xiàn)方法

    這篇文章主要介紹了ElementPlus組件與圖標(biāo)按需自動(dòng)引入的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 關(guān)于配置babel-plugin-import報(bào)錯(cuò)的坑及解決

    關(guān)于配置babel-plugin-import報(bào)錯(cuò)的坑及解決

    這篇文章主要介紹了關(guān)于配置babel-plugin-import報(bào)錯(cuò)的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • element-ui 本地化使用教程詳解

    element-ui 本地化使用教程詳解

    這篇文章主要介紹了element-ui 本地化使用教程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 解決VUE打包后與nginx代理出現(xiàn)加載速度超級(jí)慢的問(wèn)題

    解決VUE打包后與nginx代理出現(xiàn)加載速度超級(jí)慢的問(wèn)題

    這篇文章主要介紹了解決VUE打包后與nginx代理出現(xiàn)加載速度超級(jí)慢的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Vue2+JS實(shí)現(xiàn)掃雷小游戲

    Vue2+JS實(shí)現(xiàn)掃雷小游戲

    實(shí)現(xiàn)小游戲可以鍛煉自己的邏輯思維能力,也不會(huì)很枯燥,完成時(shí)會(huì)給自己帶來(lái)一種滿足感。本文就將利用Vue和JS實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲,需要的可以參考一下
    2022-06-06

最新評(píng)論