gsap实现滚动三维文字动画效果代码
代码语言:html
所属分类:加载滚动
代码描述:gsap实现滚动三维文字动画效果代码,结合了ScrollTrigger。
下面为部分代码预览,完整代码请点击下载或在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",.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0