Vue登录页面源代码分享
生活随笔
收集整理的這篇文章主要介紹了
Vue登录页面源代码分享
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Vue登錄頁面源代碼分享
模板持續更新中··· 想要源代碼的請留言郵箱,第二版還有國際化插件
第一版:
<template><div id="login"><transition appear name="opacitytrans"><div class="container" id="container"><div class="form-container sign-in-container"><form action="#"><h1>後臺管理系統</h1><span>Version 1.0.0</span><input type="text" placeholder="賬號" v-model="account" /><input type="password" placeholder="密碼" v-model="password" /><div class="button" @click="login()" >登錄</div></form></div><div class="overlay-container"><div class="overlay"><div class="overlay-panel overlay-right"><img class="logo" src="@/assets/logo.svg" alt="" /><p>「 Business Direction is everything 」</p><!-- <button class="ghost" id="signUp">About Us</button>n --></div></div></div></div></transition></div> </template> <script> import jwt from "js-sha3"; export default {name: "Login",data() {return {account: "",password: "",};} }; </script> <style scoped> #login {font-family: "Montserrat", sans-serif;background: #f6f5f7;display: flex;flex-direction: column;justify-content: center;align-items: center;height: 100vh;/* margin: -20px 0 50px; *//* background-image: url("https://www.17sucai.com/preview/1749733/2019-06-22/%E7%99%BB%E5%BD%95/img/img1.png"); */background-image: url('../assets/bg.jpeg');background-size: cover; } .logo {width: 160px;height: auto; } h1 {font-weight: bold;margin: 0;color: beige; }p {font-size: 14px;font-weight: bold;line-height: 20px;letter-spacing: 0.5px;margin: 20px 0 30px; }span {font-size: 12px;color: beige; }a {color: #fff;font-size: 14px;text-decoration: none;margin: 15px 0; }.container {border-radius: 10px;box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);position: absolute;overflow: hidden;width: 768px;max-width: 100%;min-height: 480px;opacity: 0.8; }.form-container form {background: rgba(45, 52, 54, 1);display: flex;flex-direction: column;padding: 0 50px;height: 100%;justify-content: center;align-items: center;text-align: center; }.social-container {margin: 20px 0; }.social-container a {border: 1px solid #ddd;border-radius: 50%;display: inline-flex;justify-content: center;align-items: center;margin: 0 5px;height: 40px;width: 40px; }.form-container input {background: #eee;border: none;padding: 12px 15px;margin: 8px 0;width: 100%; }.button {cursor: pointer;border-radius: 20px;/* border: 1px solid #ff4b2b;background: #ff4b2b; *//* border: 1px solid #fa8817;background: #fa8817; */border: 1px solid #1BBFB4;background: #1BBFB4;color: #fff;font-size: 12px;font-weight: bold;padding: 12px 45px;margin-top: 20px;letter-spacing: 1px;text-transform: uppercase;transition: transform 80ms ease-in; }input[type="text"] {width: 240px;text-align: center;background: transparent;border: none;border-bottom: 1px solid #fff;font-family: "PLay", sans-serif;font-size: 16px;font-weight: 200px;padding: 10px 0;transition: border 0.5s;outline: none;color: #fff;font-weight: bold; }input[type="password"] {width: 240px;text-align: center;background: transparent;border: none;border-bottom: 1px solid #fff;font-family: "PLay", sans-serif;font-size: 16px;font-weight: bold;padding: 10px 0;transition: border 0.5s;outline: none;color: #fff; }input[type="email"] {width: 240px;text-align: center;background: transparent;border: none;border-bottom: 1px solid #fff;font-family: "PLay", sans-serif;font-size: 16px;font-weight: 200px;padding: 10px 0;transition: border 0.5s;outline: none;color: #fff;font-weight: bold; }.button:active {transform: scale(0.95); }.button:focus {outline: none; }.button.ghost {background: transparent;/* border-color: #fa8817;background-color: #fa8817; */border-color: #1BBFB4;background-color: #1BBFB4;margin: 0; }.form-container {position: absolute;top: 0;height: 100%;transition: all 0.6s ease-in-out; }.sign-in-container {left: 0;width: 50%;z-index: 2; }.sign-up-container {left: 0;width: 50%;z-index: 1;opacity: 0; }.overlay-container {position: absolute;top: 0;left: 50%;width: 50%;height: 100%;overflow: hidden;transition: transform 0.6s ease-in-out;z-index: 100; }.overlay {background: transparent;background: linear-gradient(to right, #ff4b2b, #ff416c) no repeat 0 0 / cover;color: #fff;position: absolute;left: -100%;height: 100%;width: 200%;transform: translateX(0);transition: transform 0.6s ease-in-out; }.overlay-panel {position: absolute;top: 0;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: 0 40px;height: 100%;width: 50%;text-align: center;transform: translateX(0);transition: transform 0.6s ease-in-out; }.overlay-right {right: 0;transform: translateX(0); } </style>第二版:(Vue3.0)
<template><div id="login" class="page-header" filter-color="orange"><div class="page-header-image"></div><div class="containers both-center"><form action="" class="stgap1"><img class="logo" src="@/assets/login/logo.svg" alt="" /><div class="input-box row hor-center"><img class="svg" src="@/assets/login/user.svg" alt="" /><inputtype="text"v-model="account":placeholder="$t('login-page.account')"/></div><div class="input-box row hor-center"><img class="svg" src="@/assets/login/key.svg" alt="" /><inputtype="password"v-model="password":placeholder="$t('login-page.password')"@keyup.enter="login()"/></div><div class="login-bt green-button both-center" @click="login()">{{ $t("login") }}</div><div class="space-between bold link"><a class="color" href="https://togather.pro" target="_blank">{{$t("login-page.discover")}}</a><div class="color">{{ $t("login-page.help") }} ?</div></div><div class="copyright opacity col both-center"><div>Copyright ? 2022 Togather Culture Co.,</div><div>Ltd. All rights reserved.</div></div></form></div><div class="lang"><SwitchLang /></div></div> </template><script setup> import SwitchLang from "../components/common/SwitchLang.vue"; import { ref, inject, onMounted, onBeforeUnmount } from "vue"; import { useRouter } from "vue-router"; import Axios from "axios"; import jwt from "js-sha3"; import { useStore } from "vuex"; const store = useStore();const router = useRouter(); const EventBus = inject("$mitt");let account = ref(""); let password = ref(""); onMounted(() => {});onBeforeUnmount(() => {}); </script> <style scoped> .svg {position: absolute;width: 24px;height: 24px;left: 20px; } .page-header:after, .page-header:before {position: absolute;z-index: 0;width: 100%;height: 100%;display: block;left: 0;top: 0;content: ""; }.page-header:before {background-color: rgba(0, 0, 0, 0.5); } .page-header {height: 100vh;max-height: 100vh;padding: 0;color: #ffffff;position: relative; } /* .page-header[filter-color="orange"] {background: rgba(44, 44, 44, 0.2);background: linear-gradient(0deg,rgba(44, 44, 44, 0.2),rgba(224, 23, 3, 0.6)); } */ .page-header .page-header-image {position: absolute;background-size: cover;background-position: center center;width: 100%;height: 100%;z-index: -1; } .page-header-image {background-image: url("https://togathers3.s3.ap-northeast-1.amazonaws.com/static/adminV3/login.jpg"); }.logo {width: 200px;padding-bottom: 40px; } input {background-color: rgba(255, 255, 255, 0.1);color: #ffffff;height: 46px;width: 100%;border-radius: 30px;line-height: 46px;text-indent: 60px;transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out,background-color 0.3s ease-in-out; } input::placeholder {color: #ffffff;font-family: "Montserrat", sans-serif; } input:active, input:focus {background-color: rgba(255, 255, 255, 0.3); } .input-box {width: 320px;position: relative;border-radius: 30px;background-color: rgba(255, 255, 255, 0.1);transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out,background-color 0.3s ease-in-out; } .login-bt {font-size: 14px;margin-top: 60px;padding: 12px 48px;border-radius: 30px; } .link {margin-top: 24px;font-size: 14px;cursor: pointer;opacity: 0.8; } .copyright {font-size: 13px;width: 320px;position: absolute;bottom: 20px; } .lang {position: fixed;top: 25px;right: 30px;z-index: 2; } @media only screen and (max-width: 550px) {.lang {right: 15px;} } </style>總結
以上是生活随笔為你收集整理的Vue登录页面源代码分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言实现通讯录(详解)
- 下一篇: Vue 使用高德地图获取城市代码