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