Lightweight text glitch effect, animating nothing but transform property
A Pen by Piotr Galor on CodePen.
Lightweight text glitch effect, animating nothing but transform property
A Pen by Piotr Galor on CodePen.
<div title="404">404</div> |
@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400'); | |
body{ | |
display: flex; | |
width: 100vw; | |
height: 100vh; | |
align-items: center; | |
justify-content: center; | |
margin: 0; | |
background: #131313; | |
color: #fff; | |
font-size: 96px; | |
font-family: 'Fira Mono', monospace; | |
letter-spacing: -7px; | |
} | |
div{ | |
animation: glitch 1s linear infinite; | |
} | |
@keyframes glitch{ | |
2%,64%{ | |
transform: translate(2px,0) skew(0deg); | |
} | |
4%,60%{ | |
transform: translate(-2px,0) skew(0deg); | |
} | |
62%{ | |
transform: translate(0,0) skew(5deg); | |
} | |
} | |
div:before, | |
div:after{ | |
content: attr(title); | |
position: absolute; | |
left: 0; | |
} | |
div:before{ | |
animation: glitchTop 1s linear infinite; | |
clip-path: polygon(0 0, 100% 0, 100% 33%, 0 33%); | |
-webkit-clip-path: polygon(0 0, 100% 0, 100% 33%, 0 33%); | |
} | |
@keyframes glitchTop{ | |
2%,64%{ | |
transform: translate(2px,-2px); | |
} | |
4%,60%{ | |
transform: translate(-2px,2px); | |
} | |
62%{ | |
transform: translate(13px,-1px) skew(-13deg); | |
} | |
} | |
div:after{ | |
animation: glitchBotom 1.5s linear infinite; | |
clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%); | |
-webkit-clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%); | |
} | |
@keyframes glitchBotom{ | |
2%,64%{ | |
transform: translate(-2px,0); | |
} | |
4%,60%{ | |
transform: translate(-2px,0); | |
} | |
62%{ | |
transform: translate(-22px,5px) skew(21deg); | |
} | |
} |