js实现十五种字母文字入场进场动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现十五种字母文字入场进场动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <style> @import "https://fonts.googleapis.com/css?family=Baloo+Chettan|Gloria+Hallelujah"; html, body, .anim-wrap { width: 100%; height: 100%; margin: 0; } body { font-family: Helvetica Neueu, HelveticaNeueu, Helvetica, Arial, sans-serif; overflow: hidden; } .anim-wrap { position: absolute; overflow: hidden; display: flex; justify-content: center; align-items: center; } .anim-text { font: 4em "Baloo Chettan", Helvetica Neueu, HelveticaNeueu, Helvetica, Arial; white-space: nowrap; min-width: 1em; min-height: 1.2em; border-bottom: 1px solid transparent; caret-color: #f20dcc; } .anim-text:empty, .anim-text:focus { border-bottom-color: #f20dcc; outline: none; } .char { position: relative; margin: 0 .05em; } .char, .letter-inner { display: inline-block; } .anim[data-effect=fade] > .letter { animation: fadeIn 1.5s backwards; } @keyframes fadeIn { from { opacity: 0; transform: scale(2); } } .anim[data-effect=slide] > .letter { animation: slide 1s backwards; transform-origin: bottom left; } @keyframes slide { 0% { transform: translateX(90vw) skew(-17deg) scaleX(3); animation-timing-function: ease-in; } 80% { transform: translateX(0) skew(-17deg) scaleX(3); animation-timing-function: ease-out; } 88% { transform: translateX(0) skew(12deg) scaleX(0.8); animation-timing-function: ease-in-out; } 95% { transform: translateX(0) skew(-5deg) scaleX(1); animation-timing-function: ease-in-out; } 100% { transform: translateX(0) skew(0deg) scaleX(1); animation-timing-function: ease-in-out; } } @keyframes slideIn { from { transform: translateX(70vw); } } .anim[data-effect=roll] > .letter { animation: rollIn 1.1s cubic-bezier(0, 0, 0.6, 1) backwards; } @keyframes rollIn { from { transform: translateX(90vw) rotate(1200deg); } } .anim[data-effect=peel] > .letter { animation: peelIn 2s backwards ease-in-out; } .anim[data-effect=peel] > .letter > .letter-inner { animation: rotateY 1.3s 0.7s backwards ease-in; } @keyframes peelIn { from { transform: translate(-100vw, 0); } } @keyframes rotateY { from { transform: scale(3) rotateY(180deg); } } .anim[data-effect=swivel] > .letter:not(.space)::before { background: currentColor; content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: .2; } .anim[data-effect=swivel] { perspective: 100vmax; perspective-origin: top; } .anim[data-effect=swivel] > .letter { padding: 0 .1em; animation: swivel 5s backwards; transform-origin: top; } @keyframes swivel { 0% { transform: rotateX(-90deg); } 10% { transform: rotateX(82deg); } 20% { transform: rotateX(-74deg); } 30% { transform: rotateX(66deg); } 39% { transform: rotateX(-58deg); } 48% { transform: rotateX(50deg); } 56% { transform: rotateX(-42deg); } 63% { transform: rotateX(35deg); } 70% { transform: rotateX(-28deg); } 77% { transform: rotateX(21deg); } 83% { transform: rotateX(-15deg); } 89% { transform: rotateX(9deg); } 95% { transform: rotateX(-4deg); } 100% { transform: none; } } .anim[data-effect=hop] > .letter { animation: slideIn 2s linear backwards; } .anim[data-effect=hop] > .letter > .letter-inner { animation: hop .1s 20 alternate; } @keyframes hop { to { transform: translateY(-0.6em); } } .anim[data-effect=wave] { animation: slideIn 3s linear backwards; } .anim[data-effect=wave] > .letter { animation: hop .15s 20 alternate; } .anim[data-effect=wave2] { animation: slideIn 3s linear backwards; } .anim[data-effect=wave2] > .letter { animation: inflate .5s 6 linear alternate; } @keyframes inflate { to { transform: scale(2); } } .anim[data-effect=converge] > .letter { animation: converge 2.5s forwards; } .anim[data-effect=converge] > .letter:nth-child(1n) { transform: translate(100vw, 16vh); } .anim[data-effect=converge] > .letter:nth-child(2n) { transform: translate(-100vw, 53vh); } .anim[data-effect=converge] > .letter:nth-child(3n) { transform: translate(-64vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(4n) { transform: translate(-82vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(5n) { transform: translate(-100vw, -44vh); } .anim[data-effect=converge] > .letter:nth-child(6n) { transform: translate(28vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(7n) { transform: translate(-68vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(8n) { transform: translate(-69vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(9n) { transform: translate(-41vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(10n) { transform: translate(19vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(11n) { transform: translate(45vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(12n) { transform: translate(-34vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(13n) { transform: translate(-100vw, -70vh); } .anim[data-effect=converge] > .letter:nth-child(14n) { transform: translate(100vw, -74vh); } .anim[data-effect=converge] > .letter:nth-child(15n) { transform: translate(100vw, 78vh); } .anim[data-effect=converge] > .letter:nth-child(16n) { transform: translate(100vw, -60vh); } .anim[data-effect=converge] > .letter:nth-child(17n) { transform: translate(-48vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(18n) { transform: translate(47vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(19n) { transform: translate(-95vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(20n) { transform: translate(44vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(21n) { transform: translate(100vw, 14vh); } .anim[data-effect=converge] > .letter:nth-child(22n) { transform: translate(100vw, 62vh); } .anim[data-effect=converge] > .letter:nth-child(23n) { transform: translate(100vw, 18vh); } .anim[data-effect=converge] > .letter:nth-child(24n) { transform: translate(-100vw, -93vh); } .anim[data-effect=converge] > .letter:nth-child(25n) { transform: translate(40vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(26n) { transform: translate(40vw, -100vh); } .anim[data-effect=converge] > .letter:nth-child(27n) { transform: translate(19vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(28n) { transform: translate(-100vw, -78vh); } .anim[data-effect=converge] > .letter:nth-child(29n) { transform: translate(31vw, 100vh); } .anim[data-effect=converge] > .letter:nth-child(30n) { transform: translate(89vw, -100vh); } @keyframes converge { to { transform: translate(0, 0); } } .anim[data-effect=spiral] > .letter { animation: spiral 3s ease-in both; } @keyframes spiral { from { transform: rot.........完整代码请登录后点击上方下载按钮下载查看
网友评论0