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;
 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0