Maison > Article > interface Web > Comment créer une interface mobile adaptative avec Vue ?
Avec la popularité de l'Internet mobile, de plus en plus de sites Web et d'applications doivent prendre en compte l'expérience mobile. En tant que framework frontal populaire, Vue possède une mise en page réactive et des capacités adaptatives, qui peuvent très bien nous aider à créer des interfaces mobiles adaptatives. Cet article expliquera comment utiliser Vue pour créer une interface mobile adaptative.
L'utilisation de px comme unité dans l'interface mobile peut entraîner des effets d'affichage incohérents sur différents appareils. Par conséquent, il est recommandé d’utiliser rem au lieu de px comme unité. rem est l'unité de taille de police par rapport à l'élément racine et peut être automatiquement redimensionné en fonction de la taille de l'écran.
Tout d'abord, définissez la taille de la police dans la balise html sur 1/10 de la largeur de l'écran, par exemple :
html{ font-size: calc(100vw / 10); }
De cette façon, pour un appareil avec une largeur d'écran de 375 px, la taille de la police sera définie sur 37,5 px. . Dans les styles suivants, vous pouvez utiliser rem comme unité, par exemple :
.container{ width: 7.5rem; // 相当于屏幕宽度的75% font-size: 0.14rem; // 相当于14px }
La mise en page Flexbox est une méthode de mise en page flexible qui peut facilement obtenir des effets adaptatifs. Dans un projet Vue, vous pouvez utiliser les composants intégrés de Vue, v-layout et v-flex, pour utiliser la disposition Flexbox.
Tout d'abord, installez Vuetify dans le projet, qui peut être installé via la commande npm :
npm install vuetify --save
Ensuite, introduisez et utilisez Vuetify dans main.js :
import Vue from 'vue' import Vuetify from 'vuetify' import 'vuetify/dist/vuetify.min.css' Vue.use(Vuetify)
Enfin, utilisez les composants v-layout et v-flex dans Vue Implémentez la disposition Flexbox. Par exemple :
<template> <v-layout row wrap> <v-flex xs12 sm6 md4 lg3>Item 1</v-flex> <v-flex xs12 sm6 md4 lg3>Item 2</v-flex> <<v-flex xs12 sm6 md4 lg3>Item 3</v-flex> <v-flex xs12 sm6 md4 lg3>Item 4</v-flex> </v-layout> </template> <script> export default { name: 'MyComponent', components: { VLayout, VFlex } } </script>
Le code ci-dessus indique que 4 éléments de tailles différentes sont affichés sous différentes tailles d'écran.
Dans les interfaces mobiles, les effets de transition peuvent grandement améliorer l'expérience utilisateur. Vue fournit des composants intégrés v-transition et v-animation pour les effets de transition, qui peuvent également être utilisés dans les interfaces mobiles adaptatives.
Tout d'abord, installez la bibliothèque animate.css dans le projet, qui peut être installée via la commande npm :
npm install animate.css --save
Ensuite, utilisez v-transition dans le composant Vue pour obtenir l'effet de transition. Par exemple :
<template> <div> <transition :name="transitionName"> <div v-if="show" class="animated" ref="box"></div> </transition> <button @click="toggle">Toggle</button> </div> </template> <script> export default { name: 'MyComponent', data() { return { show: false, transitionName: 'fade' } }, methods: { toggle() { this.show = !this.show } } } </script> <style> .animated { animation-duration: 1s; } .fade-enter-active, .fade-leave-active { transition: opacity 1s; } .fade-enter, .fade-leave-to { opacity: 0; } </style>
Le code ci-dessus indique que lorsque vous cliquez sur le bouton Basculer, il y aura un effet de transition de fondu entrant et sortant.
Dans l'interface mobile, les sauts de page doivent également faire attention à l'effet adaptatif. Vue fournit vue-router pour implémenter des sauts de page et un routage imbriqué.
Tout d'abord, installez vue-router dans le projet, qui peut être installé via la commande npm :
npm install vue-router --save
Ensuite, définissez les routes et utilisez vue-router dans main.js :
import Vue from 'vue' import VueRouter from 'vue-router' import Home from './views/Home.vue' Vue.use(VueRouter) const router = new VueRouter({ routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: () => import(/* webpackChunkName: "about" */ './views/About.vue') } ] }) new Vue({ router }).$mount('#app')
Enfin, utilisez le composant router-link dans le composant Vue Implémente le saut. Par exemple :
<template> <div> <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> </div> </template>
Le code ci-dessus indique que le lien du routeur est utilisé dans la page pour accéder aux pages Accueil et À propos.
Résumé
Cet article explique comment utiliser Vue pour créer une interface mobile adaptative. Plus précisément, cela inclut l'utilisation de rem au lieu de px comme unité, l'utilisation de la disposition Flexbox, l'utilisation de l'effet de transition de Vue et l'utilisation de vue-router pour implémenter des sauts de page. Ces technologies peuvent nous aider à créer une bonne interface mobile et à rendre l’expérience utilisateur plus fluide et plus conviviale.
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!