Skip to content
Snippets Groups Projects
RegisterPage.vue 6.83 KiB
Newer Older
  • Learn to ignore specific revisions
  • <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>