Comment adapter le projet Vite à l'écran ? Deux options à partager
Comment adapter le projet Vite à l'écran ? L'article suivant partagera avec vous deux solutions d'adaptation à l'écran du projet Vite. Il est très détaillé. Venez le récupérer et apprenez !
Récemment, Xiaomei, une étudiante de l'équipe du projet, semble avoir rencontré un problème difficile, et elle a toujours l'air déprimée.
Avec l'intention que nous sommes tous une équipe de projet et que nous devrions nous entraider et résoudre les problèmes ensemble, j'ai envoyé un message à Xiaomei.
Moi : « Je vois que vous n'avez pas été très heureux ces derniers temps, avez-vous rencontré des problèmes ? »
Xiaomei : « J'ai récemment vérifié les informations sur l'adaptation à l'écran du projet vue3 et j'ai constaté que les informations en ligne sont tous liés à vue2+webpack Vous ne savez pas comment vous adapter au projet Vite ? [Recommandations associées : tutoriel vidéo vuejs]
Moi : "OK, laisse faire mon frère, je vais t'aider à régler ça !"
Xiaomei : "❤( ´・ᴗ・` )❤"
I pensez que l'article est bon, ou il peut être utile pour votre propre développement. Bienvenue pour l'aimer et le collectionner ! ❤❤❤
Solution d'adaptation basée sur le Rem
Qu'est-ce que le rem ?
rem fait référence à l'unité de taille de police par rapport à l'élément racine. Dans le processus de développement quotidien, nous définissons généralement la police de l'élément racine (html/body) sur 10 px, ce qui nous permet de calculer facilement (à ce stade). temps, 1rem de l'élément enfant équivaut à 10px).
Scénarios applicables
Applications Web sans rapport hauteur/largeur fixe, adaptées à la plupart des scénarios commerciaux
Combat réel du projet
1. Dépendances d'installation
npm i postcss-pxtorem autoprefixer amfe-flexible --save-dev
postcss-pxtorem est un plug-in pour. PostCSS , utilisé pour générer des unités de pixels en unités rem
plug-in de traitement des préfixes de navigateur avec préfixe automatique
amfe-flexible La solution de mise en page évolutive remplace l'originallib-flexible
et utilise laviewport compatible avec de nombreux navigateurs actuels
lib-flexible
选用了当前众多浏览器兼容的viewport
2、项目根目录创建 postcss.config.js
文件
module.exports = { plugins: { autoprefixer: { overrideBrowserslist: [ "Android 4.1", "iOS 7.1", "Chrome > 31", "ff > 31", "ie >= 8", "last 10 versions", // 所有主流浏览器最近10版本用 ], grid: true, }, "postcss-pxtorem": { rootValue: 192, // 设计稿宽度的1/ 10 例如设计稿按照 1920设计 此处就为192 propList: ["*", "!border"], // 除 border 外所有px 转 rem selectorBlackList: [".el-"], // 过滤掉.el-开头的class,不进行rem转换 }, }, };
3、main.ts/js
文件中导入依赖
import "amfe-flexible/index.js";
4、项目重启
基于scale的适配方案
在CSS3中,我们可以使用transform属性的scale()方法来实现元素的缩放效果。缩放,指的是“缩小”和“放大”的意思。
- transform: scaleX(x); / 沿x轴方向缩放/
- transform: scaleY(y); / 沿y轴方向缩放/
- transform: scale(); / 同时沿x轴和y轴缩放/
适用场景
固定宽高比的Web应用,如大屏或者固定窗口业务应用
项目实战
1、新建resize.ts/js
文件
import { ref } from "vue"; export default function windowResize() { // * 指向最外层容器 const screenRef = ref(); // * 定时函数 const timer = ref(0); // * 默认缩放值 const scale = { width: "1", height: "1", }; // * 设计稿尺寸(px) const baseWidth = 1920; const baseHeight = 1080; // * 需保持的比例(默认1.77778) const baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5)); const calcRate = () => { // 当前宽高比 const currentRate = parseFloat( (window.innerWidth / window.innerHeight).toFixed(5) ); if (screenRef.value) { if (currentRate > baseProportion) { // 表示更宽 scale.width = ( (window.innerHeight * baseProportion) / baseWidth ).toFixed(5); scale.height = (window.innerHeight / baseHeight).toFixed(5); screenRef.value.style.transform = `scale(${scale.width}, ${scale.height})`; } else { // 表示更高 scale.height = ( window.innerWidth / baseProportion / baseHeight ).toFixed(5); scale.width = (window.innerWidth / baseWidth).toFixed(5); screenRef.value.style.transform = `scale(${scale.width}, ${scale.height})`; } } }; const resize = () => { clearTimeout(timer.value); timer.value = window.setTimeout(() => { calcRate(); }, 200); }; // 改变窗口大小重新绘制 const windowDraw = () => { window.addEventListener("resize", resize); }; // 改变窗口大小重新绘制 const unWindowDraw = () => { window.removeEventListener("resize", resize); }; return { screenRef, calcRate, windowDraw, unWindowDraw, }; }
2、相关界面引入resize.ts/js
<template> <div> <div> <span>基于scale的适配方案</span> <img src="/static/imghw/default1.png" data-src="https://img2.baidu.com/it/u=1297807229,3828610143&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281" class="lazy" alt="Comment adapter le projet Vite à l'écran ? Deux options à partager" > </div> </div> </template> <script> import windowResize from '../../utils/resize'; import {onMounted, onUnmounted} from 'vue'; const { screenRef, calcRate, windowDraw, unWindowDraw } = windowResize() onMounted(() => { // 监听浏览器窗口尺寸变化 windowDraw() calcRate() }) onUnmounted(() => { unWindowDraw(); }) </script> <style> .screen-container { height: 100%; background-color: lightcyan; display: flex; justify-content: center; align-items: center; .screen-content { width: 1920px; height: 1080px; background-color: #fff; display: flex; justify-content: center; align-items: center; flex-direction: column; .screen-title { font-size: 32px; } .screen-img { margin-top: 20px; } } } </style>
写在最后
推荐两个作者参与的开源项目,如果项目有帮助到你,欢迎star!
一个简单的基于Vue3、TS、Vite、qiankun技术栈的后台管理项目
:www.xkxk.tech
一个基于Vue3、Vite的炫酷大屏项目
2. Créez le fichier postcss.config.js
dans le répertoire racine du projet
rrreee3. Importer les dépendances dans le
main.ts/js
filerrreee
🎜Solution d'adaptation basée sur l'échelle🎜🎜🎜En CSS3, nous pouvons utiliser la méthode scale() de l'attribut transform pour réaliser la mise à l'échelle. effet des éléments. Zoom fait référence à la signification de « zoom arrière » et « zoom avant ». 🎜
- transform : scaleX(x); / Échelle dans la direction de l'axe x/
- transform : scaleY(y) / Échelle dans la direction de l'axe y/
- transform : scale(); / Mettre à l'échelle simultanément les axes x et y/
🎜Scénarios applicables🎜🎜🎜Applications Web avec un format d'image fixe, comme une application professionnelle à grand écran ou à fenêtre fixe🎜🎜
🎜🎜Projet de combat réel🎜🎜🎜1. Créez un nouveau fichier resize.ts/js
🎜 🎜
🎜rrreee🎜2 . Introduction à l'interface pertinente resize.ts /js
🎜🎜
🎜rrreeeÉcrit à la fin🎜🎜Recommandez les projets open source auxquels ont participé deux auteurs. Si le projet vous est utile, bienvenue dans la star ! 🎜🎜Un simple projet de gestion backend
basé sur la pile technologique Vue3, TS, Vite et qiankun : www.xkxk.tech🎜🎜🎜A basé sur Vue3 , le Cool big screen project
de Vite : 🎜screen.xkxk.tech🎜🎜🎜 (Partage de vidéos d'apprentissage : 🎜développement web front-end🎜, 🎜Vidéo de programmation de base🎜)🎜

🎜Projet de combat réel🎜🎜🎜1. Créez un nouveau fichier resize.ts/js
🎜 🎜
🎜rrreee🎜2 . Introduction à l'interface pertinente resize.ts /js
🎜🎜
🎜rrreeeÉcrit à la fin🎜🎜Recommandez les projets open source auxquels ont participé deux auteurs. Si le projet vous est utile, bienvenue dans la star ! 🎜🎜Un simple projet de gestion backend
basé sur la pile technologique Vue3, TS, Vite et qiankun : www.xkxk.tech🎜🎜🎜A basé sur Vue3 , le Cool big screen project
de Vite : 🎜screen.xkxk.tech🎜🎜🎜 (Partage de vidéos d'apprentissage : 🎜développement web front-end🎜, 🎜Vidéo de programmation de base🎜)🎜
projet de gestion backend
basé sur la pile technologique Vue3, TS, Vite et qiankun : www.xkxk.tech🎜🎜🎜A basé sur Vue3 , le Cool big screen project
de Vite : 🎜screen.xkxk.tech🎜🎜🎜 (Partage de vidéos d'apprentissage : 🎜développement web front-end🎜, 🎜Vidéo de programmation de base🎜)🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.
