8种提交按钮悬浮动画效果

代码语言:html

所属分类:悬停

代码描述:8种提交按钮悬浮动画效果

代码标签: 悬浮 动画 效果

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


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<link href="https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@1,300&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Sail&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Modak&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Russo+One&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Rye&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=MedievalSharp&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Iceberg&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Special+Elite&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<style>
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  width: 100vw;
  height: 100%;
  font-size: 20px;
}

header {
  position: absolute;
  top: 0;
  left: 50%;
  width: 90%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  font-family: 'Merriweather', serif;
  text-align: center;
}
header p {
  font-size: .8em;
}

.layout {
  position: absolute;
  top: 5em;
  left: 50%;
  -webkit-transform: translate(-55%, 0);
          transform: translate(-55%, 0);
  width: 16em;
  margin: 3em auto;
}

.btn1 {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 7em;
  height: 2em;
  background: #0eff00;
  background: linear-gradient(331deg, #0eff00 0%, #00ecff 90%);
  border-radius: .25em;
  border: none;
  box-shadow: .1em .1em .15em grey;
  font-family: 'Sail', cursive;
  font-size: 1.2em;
  color: white;
  outline: none;
}
.btn1 .btn1-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #0eff00;
  background: linear-gradient(331deg, #0eff00 0%, #00ecff 90%);
  background-attachment: fixed;
  background-size: 1em;
  border-radius: .15em .15em 0 0;
  overflow: hidden;
}
.btn1 .btn1-first p {
  position: absolute;
  top: -.6em;
  left: 1.9444444444em;
  color: white;
}
.btn1 .btn1-second {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #0eff00;
  background: linear-gradient(331deg, #0eff00 0%, #00ecff 90%);
  background-attachment: fixed;
  background-size: 1em;
  border-radius: 0 0 .15em .15em;
  overflow: hidden;
}
.btn1 .btn1-second p {
  position: absolute;
  top: -1.6em;
  left: 1.9444444444em;
  color: white;
}

.btn1:focus div {
  -webkit-animation: shrink 1s linear forwards;
          animation: shrink 1s linear forwards;
}

@-webkit-keyframes shrink {
  0% {
    height: .9em;
  }
  100% {
    height: 0em;
  }
}

@keyframes shrink {
  0% {
    height: .9em;
  }
  100% {
    height: 0em;
  }
}
.btn2 {
  position: absolute;
  top: 0%;
  left: 9em;
  width: 7em;
  height: 2em;
  padding-top: .2em;
  background: #949494;
  background: linear-gradient(135deg, #949494 0%, white 100%);
  border-radius: .25em;
  border: none;
  box-shadow: .1em .1em .15em grey;
  font-family: 'Modak', cursive;
  font-size: 1.2em;
  color: white;
  outline: none;
}
.btn2 .btn2-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #949494;
  background: linear-gradient(135deg, #949494 0%, white 100%);
  border-radius: .25em;
  opacity: 0;
}
.btn2 .btn2-first p {
  position: absolute;
  top: -.55em;
  width: 100%;
  height: 100%;
  font-family: 'Modak', cursive;
  text-align: center;
}

.btn2:focus {
  -webkit-animation: spring 1.5s linear;
          animation: spring 1.5s linear;
}

.btn2:focus .btn2-first {
  -webkit-animation: opacity .75s linear forwards;
          animation: opacity .75s linear forwards;
}

@-webkit-keyframes spring {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  25% {
    -webkit-transform: scale(0) rotate(180deg);
            transform: scale(0) rotate(180deg);
  }
  50% {
    -webkit-transform: scale(1) rotate(360deg);
            transform: scale(1) rotate(360deg);
  }
  60% {
    -webkit-transform: scale(1.2) rotate(380deg);
            transform: scale(1.2) rotate(380deg);
  }
  70% {
    -webkit-transform: scale(0.8) rotate(340deg);
            transform: scale(0.8) rotate(340deg);
  }
  80% {
    -webkit-transform: scale(1.1) rotate(370deg);
            transform: scale(1.1) rotate(370deg);
  }
  90% {
    -webkit-transform: scale(0.9) rotate(350deg);
            transform: scale(0.9) rotate(350deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(360deg);
            transform: scale(1) rotate(360deg);
  }
}

@keyframes spring {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  25% {
    -webkit-transform: scale(0) rotate(180deg);
            transform: scale(0) rotate(180deg);
  }
  50% {
    -webkit-transform: scale(1) rotate(360deg);
            transform: scale(1) rotate(360deg);
  }
  60% {
    -webkit-transform: scale(1.2) rotate(380deg);
            transform: scale(1.2) rotate(380deg);
  }
  70% {
    -webkit-transform: scale(0.8) rotate(340deg);
            transform: scale(0.8) rotate(340deg);
  }
  80% {
    -webkit-transform: scale(1.1) rotate(370deg);
            transform: scale(1.1) rotate(370deg);
  }
  90% {
    -webkit-transform: scale(0.9) rotate(350deg);
            transform: scale(0.9) rotate(350deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(360deg);
            transform: scale(1) rotate(360deg);
  }
}
@-webkit-keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.btn3 {
  position: absolute;
  top: 4em;
  left: 0;
  width: 7em;
  height: 2em;
  background: black;
  font-family: 'Russo One', sans-serif;
  border-radius: .25em;
  border: none;
  box-shadow: .1em .1em .15em grey;
  font-size: 1.2em;
  color: white;
  outline: none;
}
.btn3 .btn3-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: white;
  color: black;
  border-radius: .25em 0 0 .25em;
  -webkit-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
}
.btn3 .btn3-first p {
  position: absolute;
  top: -.55em;
  right: .15em;
  width: 50%;
  height: 100%;
  text-align: center;
}
.btn3 .btn3-second {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: white;
  color: black;
  border-radius: 0 .25em .25em 0;
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}
.btn3 .btn3-second p {
  position: absolute;
  top: -.55em;
  left: 0;
  width: 50%;
  height: 100%;
  text-align: center;
}

.btn3:focus .btn3-first {
  -webkit-animation: fall1 2s ease-out forwards;
          animation: fall1 2s ease-out forwards;
}

.btn3:focus .btn3-second {
  -webkit-animation: fall2 2s linear forwards;
          animation: fall2 2s linear forwards;
}

@-webkit-keyframes fall1 {
  0% {
    -webkit-transform: rotate(0deg) translateY(0);
            transform: rotate(0deg) translateY(0);
    opacity: 1;
  }
  30% {
    -webkit-transform: rotate(120deg) translateY(0);
            transform: rotate(120deg) translateY(0);
    opacity: 1;
  }
  40% {
    -webkit-transform: rotate(70deg) translateY(0);
            transform: rotate(70deg) translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: rotate(110deg) translateY(0);
            transform: rotate(110deg) translateY(0);
    opacity: 1;
  }
  60% {
    -webkit-transform: rotate(80deg) translateY(0);
            transform: rotate(80deg) translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: rotate(100deg) translateY(0);
            transform: rotate(100deg) translateY(0);
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate(85deg) translateY(0);
            transform: rotate(85deg) translateY(0);
    opacity: 1;
  }
  90% {
    -webkit-transform: rotate(90deg) translateY(0);
            transform: rotate(90deg) translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(90deg) translateX(100px);
            transform: rotate(90deg) translateX(100px);
    opacity: 0;
  }
}

@keyframes fall1 {
  0% {
    -webkit-transform: rotate(0deg) translateY(0);
            transform: rotate(0deg) translateY(0);
    opacity: 1;
  }
  30% {
    -webkit-transform: rotate(120deg) translateY(0);
            transform: rotate(120deg) translateY(0);
    opacity: 1;
  }
  40% {
    -webkit-transform: rotate(70deg) translateY(0);
            transform: rotate(70deg) translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: rotate(110deg) translateY(0);
            transform: rotate(110deg) translateY(0);
    opacity: 1;
  }
  60% {
    -webkit-transform: rotate(80deg) translateY(0);
            transform: rotate(80deg) translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: rotate(100deg) translateY(0);
            transform: rotate(100deg) translateY(0);
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate(85deg) translateY(0);
            transform: rotate(85deg) translateY(0);
    opacity: 1;
  }
  90% {
    -webkit-transform: rotate(90deg) translateY(0);
            transform: rotate(90deg) translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(90deg) translateX(100px);
            transform: rotate(90deg) translateX(100px);
    opacity: 0;
  }
}
@-webkit-keyframes fall2 {
  0% {
    -webkit-transform: rotate(0deg) translateY(0);
            transform: rotate(0deg) translateY(0);
    opacity: 1;
  }
  30% {
    -webkit-transform: rotate(-120deg) translateY(0);
            transform: rotate(-120deg) translateY(0);
    opacity: 1;
  }
  40% {
    -webkit-transform: rotate(-70deg) translateY(0);
            transform: rotate(-70deg) translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: rotate(-110deg) translateY(0);
            transform: rotate(-110deg) translateY(0);
    opacity: 1;
  }
  60% {
    -webkit-transform: rotate(-80deg) translateY(0);
            transform: rotate(-80deg) translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: rotate(-100deg) translateY(0);
            transform: rotate(-100deg) translateY(0);
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate(-85deg) translateY(0);
            transform: rotate(-85deg) translateY(0);
    opacity: 1;
  }
  90% {
    -webkit-transform: rotate(-90deg) translateY(0);
            transform: rotate(-90deg) translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-90deg) translateX(-100px);
            transform: rotate(-90deg) translateX(-100px);
    opacity: 0;
  }
}
@keyframes fall2 {
  0% {
    -webkit-transform: rotate(0deg) translateY(0);
            transform: rotate(0deg) translateY(0);
    opacity: 1;
  }
  30% {
    -webkit-transform: rotate(-120deg) translateY(0);
            transform: rotate(-120deg) translateY(0);
    opacity: 1;
  }
  40% {
    -webkit-transform: rotate(-70deg) translateY(0);
            transform: rotate(-70deg) translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: rotate(-110deg) translateY(0);
            transform: rotate(-110deg) translateY(0);
    opacity: 1;
  }
  60% {
    -webkit-transform: rotate(-80deg) translateY(0);
            transform: rotate(-80deg) translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: rotate(-100deg) translateY(0);
            transform: rotate(-100deg) translateY(0);
    opacity: 1;
  }
  80% {
    -webkit-transform: rotate(-85deg) translateY(0);
            transform: rotate(-85deg) translateY(0);
    opacity: 1;
  }
  90% {
    -webkit-transform: rotate(-90deg) translateY(0);
            transform: rotate(-90deg) translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-90deg) translateX(-100px);
            transform: rotate(-90deg) translateX(-100px);
    opacity: 0;
  }
}
.btn4 {
  position: absolute;
  top: 4em;
  left: 9em;
  width: 7em;
  height: 2em;
  background: #edc7b7;
  border-radius: .25em;
  border: none;
  box-shadow: .1em .1em .15em grey;
  font-size: 1.2em;
  color: white;
  outline: none;
  overflow: hidden;
}
.btn4 .reel {
  position: absolute;
  top: 0;
  width: 1.1666em;
  height: 100%;
  font-family: 'Rye', cursive;
  color: #a83131;
  -webkit-text-stroke: .5px black;
  background: black;
  background: -webkit-gradient(linear, left bottom, left top, from(black), color-stop(15%, white), color-stop(50%, white), color-stop(85%, white), to(black));
  background: linear-gradient(0deg, black 0%, white 15%, white 50%, white 85%, black 100%);
}
.btn4 .reel p {
  position: absolute;
  top: -2.8em;
  width: 100%;
  height: 100%;
  text-align: center;
}
.btn4 .reel1 {
  left: 0;
  border-radius: .25em 0 0 .25em;
  border-right: solid 1px black;
}
.btn4 .reel2 {
  left: 1.1666em;
  border-right: solid 1px black;
  border-left: solid 1px black;
}
.btn4 .reel3 {
  left: 2.3333em;
  border-right: solid 1px black;
  border-left: solid 1px black;
}
.btn4 .reel4 {
  left: 3.4999em;
  border-right: solid 1px black;
  border-left: solid 1px black;
}
.btn4 .reel5 {
  left: 4.6666em;
  border-right: solid 1px black;
  border-left: solid 1px black;
}
.btn4 .reel6 {
  left: 5.8332em;
  border-radius: 0 .25em .25em 0;
  border-left: solid 1px black;
}

.btn4:focus .reel1 > p {
  -webkit-animation: spin 1s ease-out forwards;
          animation: spin 1s ease-out forwards;
}

.btn4:focus .reel2 > p {
  -webkit-animation: spin 1s ease-out .2s forwards;
          animation: spin 1s ease-out .2s forwards;
}

.btn4:focus .reel3 > p {
  -webkit-animation: spin 1s ease-out .4s forwards;
          animation: spin 1s ease-out .4s forwards;
}

.btn4:focus .reel4 > p {
  -webkit-animation: spin 1s ease-out .6s forwards;
          animation: spin 1s ease-out .6s forwards;
}

.btn4:focus .reel5 > p {
  -webkit-animation: spin 1s ease-out .8s forwards;
          animation: spin 1s ease-out .8s forwards;
}

.btn4:focus .reel6 > p {
  -webkit-animation: spin 1s ease-out 1s forwards;
          animation: spin 1s ease-out 1s forwards;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(2.2em);
            transform: translateY(2.2em);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(2.2em);
            transform: translateY(2.2em);
  }
}
.wrapper {
  -webkit-filter: drop-shadow(0.2em 0.2em 0.1em black);
          filter: drop-shadow(0.2em 0.2em 0.1em black);
}

.btn5 {
  position: absolute;
  top: 8em;
  left: 0;
  width: 7em;
  height: 2em;
  font-family: 'MedievalSharp', cursive;
  background: #d2d597;
  background: -webkit-gradient(linear, right top, left top, from(#d2d597), to(#ececc9));
  background: linear-gradient(270deg, #d2d597 0%, #ececc9 100%);
  box-shadow: 0 0 1em rgba(133, 102, 0, 0.8) inset;
  border-radius: .25em;
  border: none;
  font-size: 1.2em;
  color: black;
  outline: none;
  -webkit-perspective: 500px;
          perspective: 500px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-clip-path: polygon(0 0, 0 9%, 4% 14%, 4% 23%, 3% 30%, 2% 40%, 4% 53%, 1% 63%, 3% 78%, 2% 86%, 0 100%, 11% 99%, 17% 98%, 27% 98%, 31% 95%, 37% 97%, 46% 98%, 49% 94%, 57% 94%, 60% 97%, 72% 98%, 78% 95%, 86% 94%, 89% 98%, 100% 100%, 97% 90%, 96% 83%, 99% 76%, 96% 68%, 96% 62%, 95% 54%, 97% 47%, 98% 38%, 96% 29%, 99% 20%, 98% 12%, 100% 0, 83% 0%, 67% 1%, 61% 3%, 56% 1%, 46% 4%, 37% 1%, 33% 1%, 24% 4%, 18% 3%, 11% 0%);
          clip-path: polygon(0 0, 0 9%, 4% 14%, 4% 23%, 3% 30%, 2% 40%, 4% 53%, 1% 63%, 3% 78%, 2% 86%, 0 100%, 11% 99%, 17% 98%, 27% 98%, 31% 95%, 37% 97%, 46% 98%, 49% 94%, 57% 94%, 60% 97%, 72% 98%, 78% 95%, 86% 94%, 89% 98%, 100% 100%, 97% 90%, 96% 83%, 99% 76%, 96% 68%, 96% 62%, 95% 54%, 97% 47%, 98% 38%, 96% 29%, 99% 20%, 98% 12%, 100% 0, 83% 0%, 67% 1%, 61% 3%, 56% 1%, 46% 4%, 37% 1%, 33% 1%, 24% 4%, 18% 3%, 11% 0%);
}
.btn5 .btn5-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: #d2d597;
  background: -webkit-gradient(linear, right top, left top, from(#d2d597), to(#ececc9));
  background: linear-gradient(270deg, #d2d597 0%, #ececc9 100%);
  color: black;
  border-radius: .25em 0 0 .25em;
  box-shadow: 0.2em 0 0.7em rgba(133, 102, 0, 0.8) inset;
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-clip-path: polygon(0 0, 0 9%, 4% 14%, 4% 23%, 3% 30%, 2% 40%, 4% 53%, 1% 63%, 3% 78%, 2% 86%, 0 100%, 11% 99%, 17% 98%, 27% 98%, 31% 95%, 37% 97%, 46% 98%, 49% 94%, 57% 94%, 60% 97%, 72% 98%, 78% 95%, 86% 94%, 89% 98%, 100% 100%, 100% 0, 83% 0%, 67% 1%, 61% 3%, 56% 1%, 46% 4%, 37% 1%, 33% 1%, 24% 4%, 18% 3%, 11% 0%);
          clip-path: polygon(0 0, 0 9%, 4% 14%, 4% 23%, 3% 30%, 2% 40%, 4% 53%, 1% 63%, 3% 78%, 2% 86%, 0 100%, 11% 99%, 17% 98%, 27% 98%, 31% 95%, 37% 97%, 46% 98%, 49% 94%, 57% 94%, 60% 97%, 72% 98%, 78% 95%, 86% 94%, 89% 98%, 100% 100%, 100% 0, 83% 0%, 67% 1%, 61% 3%, 56% 1%, 46% 4%, 37% 1%, 33% 1%, 24% 4%, 18% 3%, 11% 0%);
}
.btn5 .btn5-first p {
  position: absolute;
  top: -.55em;
  right: 0;
  width: 50%;
  height: 100%;
  text-align: center;
}
.btn5 .btn5-second {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: #d2d597;
  background: -webkit-gradient(linear, left top, right top, from(#d2d597), to(#ececc9));
  background: linear-gradient(90deg, #d2d597 0%, #ececc9 100%);
  color: black;
  border-radius: 0 .25em .25em 0;
  box-shadow: -0.2em 0 0.7em rgba(133, 102, 0, 0.8) inset;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-clip-path: polygon(0 0, 0 100%, 11% 99%, 17% 98%, 27% 98%, 31% 95%, 37% 97%, 46% 98%, 49% 94%, 57% 94%, 60% 97%, 72% 98%, 78% 95%, 86% 94%, 89% 98%, 100% 100%, 97% 90%, 96% 83%, 99% 76%, 96% 68%, 96% 62%, 95% 54%, 97% 47%, 98% 38%, 96% 29%, 99% 20%, 98% 12%, 100% 0, 83% 0%, 67% 1%, 61% 3%, 56% 1%, 46% 4%, 37% 1%, 33% 1%, 24% 4%, 18% 3%, 11% 0%);
          clip-path: polygon(0 0, 0 100%, 11% 99%, 17% 98%, 27% 98%, 31% 95%, 37% 97%, 46% 98%, 49% 94%, 57% 94%, 60% 97%, 72% 98%, 78% 95%, 86% 94%, 89% 98%, 100% 100%, 97% 90%, 96% 83%, 99% 76%, 96% 68%, 96% 62%, 95% 54%, 97% 47%, 98% 38%, 96% 29%, 99% 20%, 98% 12%, 100% 0, 83% 0%, 67% 1%, 61% 3%, 56% 1%, 46% 4%, 37% 1%, 33% 1%, 24% 4%, 18% 3%, 11% 0%);
}
.btn5 .btn5-second p {
  position: absolute;
  top: -.55em;
  left: -.1em;
  width: 50%;
  height: 100%;
  text-align: center;
}

.btn5:focus .btn5-first {
  -webkit-animation: shadow 4s linear forwards;
          animation: shadow 4s linear forwards;
}

.btn5:focus .btn5-second {
  -webkit-animation: peel 4s ease-in-out forwards;
          animation: peel 4s ease-in-out forwards;
}

@-webkit-keyframes peel {
  0% {
    -webkit-transform: rotateY(0deg);
            transform: .........完整代码请登录后点击上方下载按钮下载查看

网友评论0