RegisterPage.vue 6.83 KiB
<template>
<div class="form_wrapper">
<div class="form_container">
<div class="title_container">
<h2>Registration</h2>
<div class="underline-title"></div>
</div>
<div class="row clearfix">
<div class="">
<form method="post" class="form">
<!-- Username input -->
<label for="user-name" style="padding-top: 13px">
Username
</label>
<input
id="user-name"
class="form-content"
type="text"
name="username"
autocomplete="on"
required
/>
<div class="form-border"></div>
<!-- Password input -->
<label for="user-password" style="padding-top: 13px">
Password
</label>
<input
id="user-password"
class="form-content"
type="password"
name="password"
required
/>
<div class="form-border"></div>
<!-- retype Password input -->
<label for="user-retypePassword" style="padding-top: 13px">
Re-type Password
</label>
<input
id="user-password"
class="form-content"
type="password"
name="retypePassword"
required
/>
<div class="form-border"></div>
<!-- Firstname input -->
<label for="user-firstname" style="padding-top: 13px">
First Name
</label>
<input
id="user-firstname"
class="form-content"
type="text"
name="firstname"
required
/>
<div class="form-border"></div>
<!-- Lastname input -->
<label for="user-lastname" style="padding-top: 13px">
Last Name
</label>
<input
id="user-lastname"
class="form-content"
type="text"
name="lastname"
required
/>
<div class="form-border"></div>
<!-- Gender Choose -->
<label for="user-gender" style="padding-top: 13px">
Gender
</label>
<div class="mb-2 flex items-center text-sm">
<el-radio-group v-model="radio1" class="ml-4">
<el-radio label="1" size="large">Male</el-radio>
<el-radio label="2" size="large">Female</el-radio>
</el-radio-group>
</div>
<!-- terms agreement -->
<div>
<el-checkbox
v-model="checked1"
label="I agree with terms and conditions"
size="large"
/>
</div>
<input id="submit-btn" type="submit" value="Register" />
</form>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { ref } from "vue";
const radio1 = ref("1");
const checked1 = ref(false);
</script>
<style scoped>
body {
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
background: #f2f2f2;
}
.form_wrapper {
justify-content: center;
align-items: center;
display: flex;
}
.form_container {
background: #fbfbfb;
border-radius: 8px;
box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.65);
height: auto;
width: 30%;
padding: 12px 44px;
}
.title_container {
font-family: "Raleway Thin", sans-serif;
letter-spacing: 4px;
padding-bottom: 23px;
padding-top: 13px;
text-align: center;
}
.form {
align-items: left;
display: flex;
flex-direction: column;
}
.form-content {
background: #fbfbfb;
border: none;
outline: none;
padding-top: 14px;
}
.form-border {
background: -webkit-linear-gradient(right, #a6f77b, #2ec06f);
height: 1px;
width: 100%;
}
#submit-btn {
background: -webkit-linear-gradient(right, #a6f77b, #2dbd6e);
border: none;
border-radius: 21px;
box-shadow: 0px 1px 8px #24c64f;
cursor: pointer;
color: white;
font-family: "Raleway SemiBold", sans-serif;
height: 42.3px;
margin: 0 auto;
margin-top: 50px;
transition: 0.25s;
width: 153px;
}
#submit-btn:hover {
box-shadow: 0px 1px 18px #24c64f;
}
.underline-title {
background: -webkit-linear-gradient(right, #a6f77b, #2ec06f);
height: 2px;
margin: -1.1rem auto 0 auto;
width: 200px;
}
.input_field radio_option {
margin-top: 10px;
}
@-webkit-keyframes check {
0% {
height: 0;
width: 0;
}
25% {
height: 0;
width: 7px;
}
50% {
height: 20px;
width: 7px;
}
}
@keyframes check {
0% {
height: 0;
width: 0;
}
25% {
height: 0;
width: 7px;
}
50% {
height: 20px;
width: 7px;
}
}
@-webkit-keyframes expand {
0% {
-webkit-transform: scale3d(1, 0, 1);
opacity: 0;
}
25% {
-webkit-transform: scale3d(1, 1.2, 1);
}
50% {
-webkit-transform: scale3d(1, 0.85, 1);
}
75% {
-webkit-transform: scale3d(1, 1.05, 1);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
opacity: 1;
}
}
@keyframes expand {
0% {
-webkit-transform: scale3d(1, 0, 1);
transform: scale3d(1, 0, 1);
opacity: 0;
}
25% {
-webkit-transform: scale3d(1, 1.2, 1);
transform: scale3d(1, 1.2, 1);
}
50% {
-webkit-transform: scale3d(1, 0.85, 1);
transform: scale3d(1, 0.85, 1);
}
75% {
-webkit-transform: scale3d(1, 1.05, 1);
transform: scale3d(1, 1.05, 1);
}
100% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
opacity: 1;
}
}
@-webkit-keyframes bounce {
0% {
-webkit-transform: translate3d(0, -25px, 0);
opacity: 0;
}
25% {
-webkit-transform: translate3d(0, 10px, 0);
}
50% {
-webkit-transform: translate3d(0, -6px, 0);
}
75% {
-webkit-transform: translate3d(0, 2px, 0);
}
100% {
-webkit-transform: translate3d(0, 0, 0);
opacity: 1;
}
}
@keyframes bounce {
0% {
-webkit-transform: translate3d(0, -25px, 0);
transform: translate3d(0, -25px, 0);
opacity: 0;
}
25% {
-webkit-transform: translate3d(0, 10px, 0);
transform: translate3d(0, 10px, 0);
}
50% {
-webkit-transform: translate3d(0, -6px, 0);
transform: translate3d(0, -6px, 0);
}
75% {
-webkit-transform: translate3d(0, 2px, 0);
transform: translate3d(0, 2px, 0);
}
100% {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
opacity: 1;
}
}
@media (max-width: 600px) {
.form_wrapper {
.col_half {
width: 100%;
float: none;
}
}
.bottom_row {
.col_half {
width: 50%;
float: left;
}
}
.form_container {
.row {
.col_half.last {
border-left: none;
}
}
}
.remember_me {
padding-bottom: 20px;
}
}
</style>