vue登录功能实现特效
Vue 登录功能实现特效
动态背景粒子效果
使用 particles.js 或 vue-particles 库创建动态背景。安装依赖后,在登录组件中直接引入:
import VueParticles from 'vue-particles'
Vue.use(VueParticles)
模板中添加:
<vue-particles
color="#dedede"
:particleOpacity="0.7"
:particlesNumber="80"
shapeType="circle"
:particleSize="4"
linesColor="#dedede"
:linesWidth="1"
:lineLinked="true"
/>
表单输入框动画
为输入框添加聚焦动画效果,通过 CSS 过渡实现:
.login-input {
transition: all 0.3s ease;
border-bottom: 2px solid #ddd;
}
.login-input:focus {
border-bottom-color: #42b983;
transform: scale(1.02);
}
按钮点击涟漪效果
使用 vue-ripple-directive 实现 Material Design 风格的点击波纹:
import Ripple from 'vue-ripple-directive'
Vue.directive('ripple', Ripple)
按钮添加指令:
<button v-ripple>登录</button>
3D 翻转卡片效果
通过 CSS 3D 变换实现双面卡片翻转:
.login-card {
perspective: 1000px;
}
.card-inner {
transition: transform 0.8s;
transform-style: preserve-3d;
}
.card-flipped {
transform: rotateY(180deg);
}
.card-face {
backface-visibility: hidden;
}
.card-back {
transform: rotateY(180deg);
}
加载动画
提交时显示加载状态,使用 element-ui 的加载组件或自定义 SVG 动画:
<button @click="login">
<span v-if="loading" class="loading-spinner"></span>
<span v-else>登录</span>
</button>
CSS 旋转动画:
@keyframes spin {
to { transform: rotate(360deg); }
}
.loading-spinner {
animation: spin 1s linear infinite;
}
错误提示动效
表单验证错误时添加弹性动画:
.error-message {
animation: shake 0.5s cubic-bezier(.36,.07,.19,.97);
}
@keyframes shake {
10%, 90% { transform: translateX(-1px); }
20%, 80% { transform: translateX(2px); }
30%, 50%, 70% { transform: translateX(-4px); }
40%, 60% { transform: translateX(4px); }
}
登录成功路由过渡
在路由配置中添加过渡效果:
const router = new VueRouter({
routes,
mode: 'history',
scrollBehavior (to, from, savedPosition) {
return { x: 0, y: 0 }
}
})
全局 CSS 过渡:
.fade-enter-active, .fade-leave-active {
transition: opacity .5s;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}






