CSS 3D Alternating Text

HAML
%p.spin %span.spin-group - 20.times do %span.spin-group-text EXTREME<br/>GRAPHICS
SASS
*, ::before, ::after box-sizing: border-box margin: 0 padding: 0 body align-items: center background-color: #fde7fd display: flex font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif -webkit-font-smoothing: none justify-content: center min-height: 100vh .spin perspective: 500px position: relative transform-style: preserve-3d .spin-group animation: 1.8s ease-in-out infinite alternate both spin-group display: block line-height: 0.8 text-align: center transform-style: preserve-3d will-change: transform $highlight: #04e7fe $text: #ff79ff $shadow: #3f2e53 .spin-group-text color: $text font-size: 100px font-weight: 700 text-shadow: -1px 0 $shadow, 1px 0 $shadow, 0 -1px $highlight will-change: transform &:nth-child(n+2) position: absolute top: 0 left: 0 @for $index from 2 through 20 &:nth-child(#{$index}) transform: translateZ(#{$index - 1}px) @keyframes spin-group from transform: rotateY(-10deg) rotateX(-20deg) to transform: rotateY(10deg) rotateX(-20deg)
JAVASCRIPT
Expand for more options Login