gsap+svg实现5种文字字母三维动画效果代码

代码语言:html

所属分类:动画

代码描述:gsap+svg实现5种文字字母三维动画效果代码,往下滚动鼠标。

代码标签: gsap svg 文字 字母 三维 动画

下面为部分代码预览,完整代码请点击下载或在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