gsap+svg实现5种文字字母三维动画效果代码
代码语言:html
所属分类:动画
代码描述:gsap+svg实现5种文字字母三维动画效果代码,往下滚动鼠标。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @import url("https://fonts.googleapis.com/css2?family=Lilita+One&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Gluten:wght@500;700;900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Dosis:wght@400;800&display=swap"); html, body { margin: 0; padding: 0; overflow-x: hidden; } h1, h2 { font-family: "Lilita One", cursive; font-size: 15vmin; letter-spacing: 0.2rem; transform-style: preserve-3d; } h1 span, h2 span { position: relative; z-index: 2; } .sr-only { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; } .background { z-index: 0; position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; } section { perspective: 1500px; width: 100vw; height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; flex-direction: column; will-change: transform; overflow: hidden; } .word { --layers: 5; --depth: 30; --increment: 0.1vmin; --color: darkred; --color-front: red; --color-back: var(--color); z-index: 1; transform-style: preserve-3d; position: relative; transform: rotatey(0deg); margin: 0; padding: 0; display: inline-block; } .safari .word { --increment: 0.04vmin; } .word .letter { --layer-space: calc(var(--depth) / var(--layers)); --zStack: calc((var(--layer) * var(--layer-space)) * var(--increment)); --xPositionOffset: 50%; --yPositionOffset: 50%; --zPositionOffset: calc(var(--increment) * ((var(--depth) * 0.5) * var(--centerOffset))); transform-style: preserve-3d; position: relative; color: var(--color); -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateX(calc((var(--x, 0) + var(--xOffset, 0)) * var(--increment))) translateY(calc(var(--y, 0) * var(--increment))) translateZ(calc(((var(--z, 0) - (var(--depth) * 0.5)) * var(--increment)) + var(--zStack))) rotateZ(calc(var(--rotateZ, 0) * 1deg)) rotateY(calc(var(--rotateY, 0) * 1deg)) rotateX(calc(var(--rotateX, 0) * 1deg)); transform-origin: var(--xPositionOffset) var(--yPositionOffset) var(--zPositionOffset); } .word .letter.front { color: var(--color-front); display: inline-block; } .word .letter.under { position: absolute; top: 0; left: calc(var(--xPos, 0) * 1px); pointer-events: none; -moz-user-select: none; -ms-user-select: none; user-select: none; display: inline-block; user-select: none; -webkit-user-select: none; } .word .letter.back { color: var(--color-back); } .boing { text-align: center; perspective: 500px; } .boing .background { background: #efefef; } .boing .background .sunburst { position: absolute; background: repeating-conic-gradient(#FFC2ED 0 15deg, #FFD6F3 15deg 30deg); left: 50%; top: 50%; width: 200vmax; height: 200vmax; opacity: 0; -webkit-animation: spin 40s infinite linear; animation: spin 40s infinite linear; transform: translate(-50%, -50%) rotate(0deg); } .boing .word { --color: #444; --color-front: #444; --depth: 2; --layers: 4; display: block; } .intro { font-family: "Dosis", sans-serif; font-weight: 400; color: #333; text-align: center; } .intro h1 { font-weight: 400; font-size: max(5vmin, 30px); font-family: "Dosis", sans-serif; } .intro .word { --layers: 8; --depth: 0; --rotateAmount: 20deg; font-weight: 800; display: block; font-size: 15vmin; text-transform: uppercase; transform: rotateX(calc(var(--mouseX) * var(--rotateAmount))) rotateY(calc(var(--mouseY) * var(--rotateAmount))); } .intro p { font-size: 1.5em; } .intro .down-arrow { margin-top: 3em; } .hulk { overflow: unset; } .hulk .background { width: 150%; background: url('data:image/svg+xml,%3Csvg width="42" height="44" viewBox="0 0 42 44" xmlns="http://www.w3.org/2000/svg"%3E%3Cg id="Page-1" fill="none" fill-rule="evenodd"%3E%3Cg id="brick-wall" fill="%23893990" fill-opacity="0.4"%3E%3Cpath d="M0 0h42v44H0V0zm1 1h40v20H1V1zM0 23h20v20H0V23zm22 0h20v20H22V23z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'), #99549F; background-size: 6em; background-position: center; } .hulk .background .cracks { width: 100vw; height: 100%; display: flex; align-items: center; justify-content: center; overflow: visible; } .hulk .background .cracks path { display: none; } .hulk .background .cracks.smash-1 .crack-1 { display: block; } .hulk .background .cracks.smash-2 .crack-2 { display: block; } .hulk .background .cracks.smash-3 .crack-3 { display: block; } .hulk .background svg { width: 50em; padding-bottom: 10vmin; } .hulk .word { --color: #124B28; --color-front: #2D8950; --color-back: #45254B; --depth: 100; --layers: 6; text-transform: uppercase; } .hulk .word .back { opacity: 0.5; } .slide .word { --color: #fff; --color-front: #eee; --depth: 1; --layers: 6; transform: rotatey(-20deg) rotatex(15deg); text-transform: uppercase; } .oreo { perspective: 2000px; } .oreo .background { background: radial-gradient(#66A3DB, #2E4A9B); } .oreo .word { --depth: 60; --layers: 7; --color: #CED3D1; --color-front: #362E2D; --color-back: #00000044; text-transform: uppercase; font-size: 25vmin; letter-spacing: 0em.........完整代码请登录后点击上方下载按钮下载查看
网友评论0