Skip to content
Snippets Groups Projects
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">
              &nbsp;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">
              &nbsp;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">
              &nbsp;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">
              &nbsp;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">
              &nbsp;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">
              &nbsp;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>