登录模板
时间:2023-5-28 21:54 作者:小诸葛 分类: Vue 正在检查是否收录...
基于vue的登录模板
<template>
<div class="login">
<div class="login_box">
<h1> 登录系统</h1>
<el-input prefix-icon="el-icon-search" v-model="form.username"
:class="{ username: username, usernames: usernames }" @focus="uname" @blur="unames"></el-input>
<el-input prefix-icon="el-icon-lock " v-model="form.password"
:class="{ username: password, usernames: passwords }" show-password @focus="pad" @blur="pads"></el-input>
<el-button type="primary" @click="submits">登录</el-button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
form: {
username: '',
password: '',
},
username: true,
usernames: false,
password: true,
passwords: false,
}
},
methods: {
// 登录事件
submits() {
this.$router.push('/index')
},
// 获取焦点
//账号
uname() {
this.username = false;
this.usernames = true;
},
// 密码
pad() {
this.password = false;
this.passwords = true;
},
// 失去焦点
// 账号
unames() {
this.username = true;
this.usernames = false;
if (this.form.username !== "") {
this.username = false;
}
},
// 失去焦点
// 密码
pads() {
this.password = true;
this.passwords = false;
if (this.form.password !== "") {
this.password = false;
}
},
}
}
</script>
<style lang="less" scoped>
.login::after {
content: '';
/* 必须的属性 */
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: linear-gradient(to bottom right, #dbe464, rgb(123, 218, 162), #f18e9b);
background-size: cover;
z-index: -1;
}
.login {
position: relative;
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
.username::after,
.usernames::after,
.password::after,
.passwords::after {
content: "账号";
color: #c0c4cc;
display: block;
top: 13px;
left: 33px;
position: absolute;
font-size: 14px;
transition: all 0.5s;
// 鼠标点击穿透
pointer-events: none;
}
.usernames::after,
.password::after,
.passwords::after {
content: "账号";
top: -7px;
color: #409eff;
}
input {
position: relative;
}
input::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
filter: blur(10px);
z-index: -1;
}
.password::after {
content: "密码";
}
.passwords::after {
content: "密码";
}
.login_box {
position: relative;
width: 400px;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
padding: 0 20px;
border-radius: 10px;
border: 1px solid rgb(255, 255, 255, 0.5);
border-right: 1px solid rgba(63, 62, 62, 0.2);
border-bottom: 1px solid rgba(63, 62, 62, 0.2);
background-color: #ffffff45;
h1 {
position: relative;
color: #ffffff;
font-size: 25px;
}
.el-button {
width: 100%;
}
}
/* 小于等于手机屏幕尺寸 400px 时样式 */
@media screen and (max-width: 500px) {
/* 添加您想要的样式 */
.login_box {
height: 280px;
width: 85%;
}
}
}
</style>
推荐阅读:
扫描二维码,在手机上阅读