css+js实现紫色带动画效果登录表单页面代码

代码语言:html

所属分类:表单美化

代码描述:css+js实现紫色带动画效果登录表单页面代码,点击输入框有明显的过渡动画。

代码标签: css 表单 登录 动画 紫色

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <style>
        @import url('https://fonts.googleapis.com/css?family=Roboto');
    body {
      all: initial;
      font-family: 'Roboto', sans-serif;
      letter-spacing: 0.02em;
    }
    * {
      box-sizing: border-box;
    }
    main {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #3f2766;
    }
    .form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      width: 400px;
      height: 400px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      padding: 20px;
      border-radius: 5px;
    }
    .form__loader {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      z-index: -4;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
    }
    .form__content {
      text-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      position: relative;
      opacity: 0;
      -webkit-transform: translateY(10px);
              transform: translateY(10px);
      -webkit-transition: all 0.5s ease 0.7s;
      transition: all 0.5s ease 0.7s;
    }
    .form__cover {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      z-index: -4;
      border-radius: 7px;
      overflow: hidden;
      -webkit-transition: all 0.3s ease 0.8s;
      transition: all 0.3s ease 0.8s;
      box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
    .form__cover:after {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      background: #4d317a;
      z-index: -4;
      border-radius: 50%;
      -webkit-transition: all 1.5s ease 0.3s;
      transition: all 1.5s ease 0.3s;
      -webkit-transform: scale(0);
              transform: scale(0);
    }
    .form__cover:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      background: white;
      z-index: -5;
      border-radius: 50%;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      -webkit-transform: scale(0);
              transform: scale(0);
    }
    body.on-start .form__cover:before {
      -webkit-transform: scale(0.15);
              transform: scale(0.15);
    }
    body.document-loaded .form__loader {
      -webkit-transform: scale(0);
              transform: scale(0);
      opacity: 0;
      visibility: hidden;
    }
    body.document-loaded .form__content {
      opacity: 1;
      -webkit-transform: none;
              transform: none;
    }
    body.document-loaded .form__cover {
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    }
    body.document-loaded .form__cover:after {
      -webkit-transform: scale(2);
              transform: scale(2);
    }
    body.document-loaded .form__cover:before {
      -webkit-transition: opacity 0.3s ease 0.8s, -webkit-transform 2s ease;
      transition: opacity 0.3s ease 0.8s, -webkit-transform 2s ease;
      transition: transform 2s ease, opacity 0.3s ease 0.8s;
      transition: transform 2s ease, opacity 0.3s ease 0.8s, -webkit-transform 2s ease;
      -webkit-transform: scale(2);
              transform: scale(2);
      opacity: 0;
    }
    h1 {
      font-size: 40px;
      margin: 15px 0 20px 0;
      letter-spacing: 0.05em;
      color: #714cab;
      font-weight: 700;
    }
    .styled-button {
      -webkit-appearance: none;
      -webkit-user-select: none;
      cursor: pointer;
      font-size: 14px;
      width: 100%;
      padding: 20px;
      outline: none;
      background: none;
      position: relative;
      color: #492e72;
      border-radius: 3px;
      margin-bottom: 25px;
      border: none;
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: 0.1em;
      background: #714cac;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      overflow: hidden;
    }
    .styled-button__real-text-holder {
      position: relative;
    }
    .styled-button__real-text {
      color: transparent;
      display: inline-block;
    }
    .styled-button__text-holder {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
    }
    .styled-button__moving-block {
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      overflow: hidden;
    }
    .styled-button__moving-block.back {
      color: white;
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
    .styled-button__moving-block.back .styled-button__text-holder {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
    .styled-button:hover,
    .styled-button:active {
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
      background: #7a51bb;
    }
    .styled-button:hover .face,
    .styled-button:active .face {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
    .styled-button:hover .face .styled-button__text-holder,
    .styled-button:active .face .styled-button__text-holder {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
    .styled-button:hover .back,
    .styled-button:active .back {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    .styled-button:hover .back .styled-button__text-holder,
    .styled-button:active .back .styled-button__text-holder {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    .styled-button:active {
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    }
    .styled-input {
      width: 100%;
      position: relative;
      margin-bottom: 25px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 3px;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
    }
    .styled-input__circle {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: -2;
      overflow: hidden;
      border-radius: 3px;
    }
    .styled-input__circle:after {
      content: '';
      position: absolute;
      left: 16.5px;
      top: 19px;
      height: 14px;
      width: 14px;
      z-index: -2;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.15);
      box-shadow: 0 0 10px rgba(255, 255, 255, 0);
      -webkit-transition: opacity 1s ease, -webkit-transform 0.6s ease;
      transition: opacity 1s ease, -webkit-transform 0.6s ease;
      transition: transform 0.6s ease, opacity 1s ease;
      transition: transform 0.6s ease, opacity 1s ease, -webkit-transform 0.6s ease;
    }
    .styled-input__input {
      width: 100%;
      -webkit-appearance: none;
      font-size: 14px;
      outline: none;
      background: none;
      padding: 18px 15px;
      color: #ceafff;
      border: none;
      font-weight: 600;
      letter-spacing: 0.035em;
    }
    .styled-input__placeholder {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      z-index: -1;
      padding-left: 45px;
      color: white;
    }
    .styled-input__placeholder-text {
      -webkit-perspective: 500px;
              perspective: 500px;
      display: inline-block;
    }
    .styled-input__placeholder-text .letter {
      display: inline-block;
      vertical-align: middle;
      position: relative;
      -webkit-animation: letterAnimOut 0.25s ease forwards;
              animation: letterAnimOut 0.25s ease forwards;
      text-shadow: 0 0 5px;
    }
    .styled-input__placeholder-text .letter.active {
      -webkit-animation: letterAnimIn 0.25s ease forwards;
              animation: letterAnimIn 0.25s ease forwards;
    }
    .styled-input:hover {
      border-color: rgba(255, 255, 255, 0.4);
    }
    .styled-input.filled {
      border-color: rgba(255, 255, 255, 0.2);
    }
    .styled-input.filled .styled-input__circle:after {
      -webkit-transform: scale(37);
              transform: scale(37);
      opacity: 0;
    }
    @-webkit-keyframes letterAnimIn {
      0% {
        -webkit-transform: translate(0, 0);
                transform: translate(0.........完整代码请登录后点击上方下载按钮下载查看

网友评论0