用vue写一个好看一点的登录和注册界面
时间: 2024-02-01 10:16:37 浏览: 23
好的,下面是一个简单的登录和注册页面的Vue代码示例:
```html
<template>
<div class="container">
<div class="card">
<h2>Login</h2>
<form @submit.prevent="login">
<div class="form-group">
<label for="email">Email</label>
<input type="email" name="email" id="email" v-model="email" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" id="password" v-model="password" required>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
</div>
<div class="card">
<h2>Register</h2>
<form @submit.prevent="register">
<div class="form-group">
<label for="name">Name</label>
<input type="text" name="name" id="name" v-model="name" required>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" name="email" id="email" v-model="email" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" id="password" v-model="password" required>
</div>
<button type="submit" class="btn btn-primary">Register</button>
</form>
</div>
</div>
</template>
<script>
export default {
data() {
return {
name: '',
email: '',
password: ''
}
},
methods: {
login() {
// TODO: Implement login functionality
console.log('Logging in...')
},
register() {
// TODO: Implement register functionality
console.log('Registering...')
}
}
}
</script>
<style scoped>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f5f5f5;
}
.card {
width: 400px;
padding: 20px;
border-radius: 10px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
background-color: #fff;
margin: 0 10px;
}
h2 {
margin-bottom: 20px;
text-align: center;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 5px;
}
input[type="text"],
input[type="email"],
input[type="password"] {
width: 100%;
padding: 10px;
border: none;
border-radius: 5px;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}
button[type="submit"] {
width: 100%;
padding: 10px;
border: none;
border-radius: 5px;
background-color: #007bff;
color: #fff;
cursor: pointer;
}
</style>
```
这个示例代码使用了Flexbox布局,包含了两个卡片式的表单(登录和注册),并添加了简单的样式。在这个示例中,我们使用了Vue的单文件组件,分别定义了模板、脚本和样式。在`data`选项中,我们定义了三个数据属性:`name`、`email`和`password`,并使用了Vue的双向数据绑定将它们与表单元素关联起来。在`methods`选项中,我们定义了`login`和`register`方法,它们会在表单提交时被调用。这个示例代码中的方法只是简单地输出一些信息,你需要根据自己的需求来实现登录和注册功能。