Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Glitch Effect</title> | |
| <style> | |
| @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 { | |
| position: relative; | |
| 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: glitchBottom 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 glitchBottom { | |
| 2%, 64% { | |
| transform: translate(-2px, 0); | |
| } | |
| 4%, 60% { | |
| transform: translate(-2px, 0); | |
| } | |
| 62% { | |
| transform: translate(-22px, 5px) skew(21deg); | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div title="404">404</div> | |
| </body> | |
| </html> |