用vue3写一个酷炫的登录界面
时间: 2023-09-21 22:03:39 浏览: 350
好的,我可以为您提供一些思路和代码示例。
首先,我们可以使用Vue3的Composition API来编写组件。我们可以创建一个LoginForm组件,它包含一个表单,用于输入用户名和密码。
```html
<template>
<form>
<label for="username">Username:</label>
<input type="text" id="username" v-model="username">
<label for="password">Password:</label>
<input type="password" id="password" v-model="password">
<button type="submit">Login</button>
</form>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const username = ref('');
const password = ref('');
const handleSubmit = (event) => {
event.preventDefault();
// TODO: handle login logic
};
return {
username,
password,
handleSubmit,
};
},
};
</script>
```
接下来,我们可以使用CSS来美化我们的登录界面。我们可以使用CSS3的渐变效果和动画效果来实现酷炫的效果。例如,我们可以使用以下CSS样式来实现一个渐变背景和一个动画效果,当用户输入用户名和密码时,表单会向上移动。
```css
<style>
form {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
background: linear-gradient(to bottom right, #00c6ff, #0072ff);
overflow: hidden;
}
input[type='text'],
input[type='password'] {
padding: 10px;
margin: 10px;
border: none;
border-radius: 5px;
background-color: #f5f5f5;
font-size: 1.2em;
width: 300px;
height: 50px;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
transition: all 0.3s ease-in-out;
}
input[type='text']:focus,
input[type='password']:focus {
transform: translateY(-20px);
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
}
button[type='submit'] {
padding: 10px 20px;
margin: 10px;
border: none;
border-radius: 5px;
background-color: #0072ff;
color: #fff;
font-size: 1.2em;
cursor: pointer;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
transition: all 0.3s ease-in-out;
}
button[type='submit']:hover {
background-color: #00c6ff;
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
}
</style>
```
最后,我们可以将LoginForm组件导出并在App.vue中使用它。
```html
<template>
<LoginForm />
</template>
<script>
import LoginForm from './components/LoginForm.vue';
export default {
components: {
LoginForm,
},
};
</script>
```
这样,我们就完成了一个简单而酷炫的登录界面。您可以根据自己的需求添加更多功能和样式。
阅读全文