国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue項(xiàng)目pc端和移動(dòng)端適配

這篇具有很好參考價(jià)值的文章主要介紹了vue項(xiàng)目pc端和移動(dòng)端適配。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vue項(xiàng)目pc端和移動(dòng)端適配

1、pc端適配

一、樣式中根據(jù)設(shè)計(jì)稿確定縮放比例(可以設(shè)置全局或者部分頁面)

二、監(jiān)聽窗口大小改變,設(shè)置根字體大小
created() {
// 獲取當(dāng)前設(shè)備的寬度,設(shè)置rem的根字體大小
let width = window.innerWidth;
width = width <= 1200 ? 1200 : width;
const htmlObj = document.getElementsByTagName(“html”)[0];
htmlObj.style.fontSize = width / 76.8 + “px”;

// 對resize事件進(jìn)行瀏覽器兼容處理
if (document.createEvent) {
  var event = document.createEvent("HTMLEvents");
  event.initEvent("resize", true, true);
  window.dispatchEvent(event);
} else if (document.createEventObject) {
  window.fireEvent("onresize");
}

// 監(jiān)聽頁面resize事件,重新設(shè)置rem的根字體大小
window.onresize = function () {
  let width = window.innerWidth;
  width = width <= 1200 ? 1200 : width;
  htmlObj.style.fontSize = width / 76.8 + "px";
};

},

三、使用時(shí)
如: height:px2rem(100px)

四、如果是部分頁面使用,需要頁面銷毀時(shí)清理
destroyed() {
const htmlObj = document.getElementsByTagName(“html”)[0];
htmlObj.style.fontSize = “”;
window.onresize = null;
},

2、移動(dòng)端項(xiàng)目適配

實(shí)現(xiàn)移動(dòng)端適配步驟如下
1.先安裝amfe-flexible和postcss-pxtorem
npm install amfe-flexible --save
npm install postcss-pxtorem --save
在main.js導(dǎo)入amfe-flexible
import ‘a(chǎn)mfe-flexible’;
2.配置postcss-pxtorem ,可在vue.config.js、postcsssrc.js、postcss.config.js、其中之一配置,權(quán)重從左到右降低,沒有則新建文件,只需要設(shè)置其中一個(gè)即可
在vue.config.js配置如下
module.export={
//…其他配置
css:{
loaderOptions:{
postcss:[
require(‘postcss-pxtorem’)({
rootValue:37.5,
propList:[‘‘]
})
]
}
}
}
在.postcssrc.js或postcss.config.js中配置如下:
module.exports = {
“plugins”: {
‘postcss-pxtorem’: {
rootValue: 37.5,
propList: [’
’]
}
}
}

rootValue根據(jù)設(shè)計(jì)稿寬度除以10進(jìn)行設(shè)置,這邊假設(shè)設(shè)計(jì)稿為375,即rootValue設(shè)為37.5;
propList是設(shè)置需要轉(zhuǎn)換的屬性,這邊*為所有都進(jìn)行轉(zhuǎn)換。
測試結(jié)果:

css中設(shè)置某類寬度為375px:
.content{
width:375px;
}

運(yùn)行后在瀏覽器可以發(fā)現(xiàn)已經(jīng)轉(zhuǎn)化為10rem,即375/設(shè)置的rootValue:
以上情況則說明postcss-pxtorem配置成功
html的字體大小跟隨設(shè)備寬度進(jìn)行改變,body跟隨設(shè)備的dpr進(jìn)行改變,這是amfe-flexible的實(shí)現(xiàn),即說明配置成功。
說明,安裝過程中可能會(huì)遇到以下報(bào)錯(cuò):
1.安裝配置后,發(fā)現(xiàn)rem并沒有生效,解決辦法:使用vue.config.js去配置,不要用postcss.config.js
2.拋錯(cuò)[object Object] is not a PostCSS plugin。報(bào)錯(cuò)原因:postcss-pxtorem版本太高,更改版本為5.1.1。npm install postcss-pxtorem@5.1.1

3、同時(shí)兼任pc和移動(dòng)適配

通過配置兩套不同路由和判斷是否是移動(dòng)端實(shí)現(xiàn)
1、寫好兩套路由
import Vue from “vue”;
import VueRouter from “vue-router”;

Vue.use(VueRouter);

//默認(rèn)路由
export const routes = [
{
path: “/”,
redirect: “/home”,
},
];
//pc端的路由
export const pcRoutes = [
{
path: “/”,
redirect: “/home”,
},
{
path: “/home”,
name: “Home”,
component: () =>
import(/* webpackChunkName: “about” / “…/views/home/pc.vue”),
},
];
//移動(dòng)端設(shè)備路由
export const mobileRoutes = [
{
path: “/”,
redirect: “/home”,
},
{
path: “/home”,
name: “Home”,
component: () =>
import(/
webpackChunkName: “about” */ “…/views/home/mobile.vue”),
},
];

const createRouter = () =>
new VueRouter({
scrollBehavior: () => ({ y: 0 }),
mode: “history”,
routes: routes,
});

const router = createRouter();

// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter();
router.matcher = newRouter.matcher; // reset router
}

export default router;

2、封裝一個(gè)判斷是否是移動(dòng)端的方法
// 判斷設(shè)備是否為移動(dòng)端的方法
export const isMobile = () => {
return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(
navigator.userAgent
);
};

3、src目錄下創(chuàng)建一個(gè)init.js文件用于判斷機(jī)型從而添加相應(yīng)的路由
import router from “./router”;
import { isMobile } from “./utils”;
import { pcRoutes, mobileRoutes } from “./router”;

// 判斷當(dāng)前設(shè)備的型號(hào)從而改變當(dāng)前路由
router.addRoute(isMobile() ? mobileRoutes[1] : pcRoutes[1]);

4、最后在vue項(xiàng)目的入口文件main.js文件中引入init.js。
import “./init.js”;文章來源地址http://www.zghlxwxcb.cn/news/detail-408459.html

到了這里,關(guān)于vue項(xiàng)目pc端和移動(dòng)端適配的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端移動(dòng)端布局自適應(yīng) 及移動(dòng)端和PC端共用一套代碼注意事項(xiàng)

    前端移動(dòng)端布局自適應(yīng) 及移動(dòng)端和PC端共用一套代碼注意事項(xiàng)

    前端移動(dòng)端布局自適應(yīng) 目錄 一、自適應(yīng)布局概念? 二、使用步驟 1. head標(biāo)簽里要寫適用移動(dòng)端 2. 自適應(yīng)單位問題 3. CSS如何寫? 總結(jié) 前言 移動(dòng)端布局需要適應(yīng)不同大小手機(jī)平板屏幕,所以字體圖片等尺寸就要做到隨著屏幕大小的變化去自適應(yīng),這樣會(huì)給用戶很好的體驗(yàn)感和

    2024年02月08日
    瀏覽(27)
  • 移動(dòng)端和PC端對比【組件庫+調(diào)試vconsole +構(gòu)建vite/webpack+可視化echarts/antv】

    移動(dòng)端和PC端對比【組件庫+調(diào)試vconsole +構(gòu)建vite/webpack+可視化echarts/antv】

    目錄 移動(dòng)端 antv f2 版本問題 jsx 經(jīng)典配置 自動(dòng)配置 vue 使用 bar? radar PC端 antv antv G6 Vue2 scss Echarts Vue3 radar React 原生echarts+TS ListChart(列表切換echarts圖表,同類數(shù)據(jù)為x軸的bar) ListChart.tsx ListChart.css ListChartUtil.tsx Recharts??????? D3 體量:Echarts支持 按需引用 靈活度:EC

    2024年02月11日
    瀏覽(19)
  • pc端與移動(dòng)端適配 解決方案

    pc端與移動(dòng)端適配 解決方案

    一般網(wǎng)站實(shí)現(xiàn)pc端與移動(dòng)端適配的需求,方案有兩個(gè): 1、一套頁面,從設(shè)計(jì)時(shí)就考慮到跨設(shè)備適配,響應(yīng)式的一步到位; 2、開發(fā)兩套頁面,根據(jù)設(shè)備尺寸加載加載不同的資源,目前已經(jīng)不常見了; 做一個(gè)響應(yīng)式的頁面。即只用一個(gè)鏈接,用媒體查詢來控制樣式。同一個(gè)鏈接

    2024年02月04日
    瀏覽(16)
  • h5響應(yīng)式布局、PC和移動(dòng)端適配方案

    春招真的是太卷了,讓我懷疑春招到底在招誰(是我太菜惹qaq)。總之還是不能松懈下來,總結(jié)一下在實(shí)習(xí)期間遇到的h5的響應(yīng)式布局、PC和移動(dòng)端適配方案的選擇以及一些問題。本文部分文案由chat-gpt編寫,例如介紹響應(yīng)式布局的文案(才不是因?yàn)槲覒衺)。 響應(yīng)式布局是指

    2024年02月05日
    瀏覽(26)
  • 運(yùn)行移動(dòng)端和前端項(xiàng)目

    目錄 一、運(yùn)行小程序項(xiàng)目 1. 安裝微信開發(fā)者工具 2. 運(yùn)行HBuilderX工具 3. 導(dǎo)入小程序項(xiàng)目 二、運(yùn)行前端項(xiàng)目 1. 初始化前端項(xiàng)目 2. 導(dǎo)入前端項(xiàng)目 3. 運(yùn)行前端項(xiàng)目 4. 訪問登錄畫面 Emos工程的3個(gè)項(xiàng)目已經(jīng)運(yùn)行起來了,現(xiàn)在把移動(dòng)端和前端項(xiàng)目運(yùn)行起來。 ????????打開微信開發(fā)

    2024年02月09日
    瀏覽(36)
  • 響應(yīng)式web-PC端web與移動(dòng)端web(H5)兼容適配 選型方案

    響應(yīng)式web-PC端web與移動(dòng)端web(H5)兼容適配 選型方案

    背景 項(xiàng)目需要,公司已經(jīng)有一套PC端web,需要做一套手機(jī)端瀏覽器可用的,但是又想兼容pc端,適配的web項(xiàng)目。 以下是查閱到響應(yīng)布局現(xiàn)成的開源模版。根據(jù)自己技術(shù)棧,vue2,js來搜索相關(guān)的開源項(xiàng)目。 使用若依快速構(gòu)建web應(yīng)用程序,有單獨(dú)的移動(dòng)端項(xiàng)目。 RuoYi 是一個(gè) Java

    2024年02月05日
    瀏覽(34)
  • 在設(shè)計(jì)web頁面時(shí),為移動(dòng)端設(shè)計(jì)一套頁面,PC端設(shè)計(jì)一套頁面,并且能自動(dòng)根據(jù)設(shè)備類型來選擇是用移動(dòng)端的頁面還是PC端的頁面。

    響應(yīng)式設(shè)計(jì),即移動(dòng)端和PC端共用一個(gè)HTML模式,網(wǎng)站的程序和模板自動(dòng)根據(jù)設(shè)備類型和屏幕大小進(jìn)行自適應(yīng)調(diào)整。這種方法我不喜歡,原因是不能很好保證各種客戶端的效果,里面存在各種復(fù)雜的兼容性等問題。 我喜歡為不同的客戶端寫不同的模式,避免在響應(yīng)式設(shè)計(jì)中可能

    2024年02月09日
    瀏覽(21)
  • VUE識(shí)別訪問設(shè)備是pc端還是移動(dòng)端

    VUE識(shí)別訪問設(shè)備是pc端還是移動(dòng)端

    有些網(wǎng)站需要區(qū)分手機(jī)端網(wǎng)頁和pc端網(wǎng)頁,做到不同設(shè)備訪問不同的網(wǎng)頁,增強(qiáng)用戶的使用體驗(yàn),可以在app.vue中作一個(gè)判斷( navigator.userAgent ),然后跳轉(zhuǎn)不同的路由。 navigator.userAgent 屬性是一個(gè)只讀的字符串,聲明了瀏覽器用于 HTTP 請求 的 用戶代理頭 的值。 ?例如:Moz

    2024年02月05日
    瀏覽(16)
  • Vue中如何進(jìn)行移動(dòng)端適配與響應(yīng)式布局?

    Vue中如何進(jìn)行移動(dòng)端適配與響應(yīng)式布局?

    如今,移動(dòng)端適配與響應(yīng)式布局已經(jīng)成為Web開發(fā)中不可或缺的一部分。Vue.js作為一款流行的JavaScript框架,也提供了許多有用的工具和技術(shù)來實(shí)現(xiàn)移動(dòng)端適配和響應(yīng)式布局。在這篇文章中,我們將討論如何在Vue.js中進(jìn)行移動(dòng)端適配與響應(yīng)式布局,包括媒體查詢、flexbox布局和第

    2024年02月09日
    瀏覽(24)
  • VUE pc端+移動(dòng)端上傳錄音并上傳(recorder-core)

    首先安裝?npm install recorder-core 以下錄音組件完整代碼可復(fù)用 父頁面引用該組件:

    2024年03月25日
    瀏覽(13)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包