Last active
May 4, 2021 13:26
-
-
Save ajmeese7/49dfcdd2dbf6d52674e251ae0fe227cd to your computer and use it in GitHub Desktop.
The glitch button effect from cyberpunk.net
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| body { | |
| background-color: #f0e702; | |
| } | |
| .btn-preorder:hover .btn-preorder--glitch, | |
| .btn-preorder:hover .btn-preorder__text:after { | |
| display: block; | |
| -webkit-animation-duration: 2s; | |
| animation-duration: 2s; | |
| -webkit-animation-timing-function: linear; | |
| animation-timing-function: linear; | |
| -webkit-animation-iteration-count: infinite; | |
| animation-iteration-count: infinite; | |
| -webkit-animation-name: glitch-anim-1; | |
| animation-name: glitch-anim-1; | |
| -webkit-animation-direction: alternate; | |
| animation-direction: alternate; | |
| } | |
| .btn-preorder--glitch { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| display: none; | |
| background-image: url(https://www.cyberpunk.net/build/images/home/button-86c98458.svg); | |
| background-repeat: no-repeat; | |
| -webkit-filter: drop-shadow(-2px 3px #67e3f3) drop-shadow(-1px -3px #02d8f3) drop-shadow(2px 1px #02d8f3); | |
| filter: drop-shadow(-2px 3px #67e3f3) drop-shadow(-1px -3px #02d8f3) drop-shadow(2px 1px #02d8f3); | |
| } | |
| .btn-preorder:after { | |
| content: "R25"; | |
| position: absolute; | |
| right: 30px; | |
| bottom: -3px; | |
| font-size: 9px; | |
| line-height: 1; | |
| color: #00000f; | |
| letter-spacing: 1px; | |
| } | |
| .btn-preorder { | |
| display: -webkit-box; | |
| display: flex; | |
| -webkit-box-pack: center; | |
| justify-content: center; | |
| -webkit-box-align: center; | |
| align-items: center; | |
| background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 339 85'%3E%3Cpath d='M315 85v-8h-27v8H21.77L2 65.23V0h337v85z' fill-rule='evenodd' fill='%2302d8f3' opacity='.45'/%3E%3Cpath d='M313 85v-8h-27v8H19.77L0 65.23V0h337v85z' fill='%23ff003c' fill-rule='evenodd'/%3E%3C/svg%3E"); | |
| background-repeat: no-repeat; | |
| background-position: 50%; | |
| background-size: 100% 100%; | |
| width: 337px; | |
| height: 85px; | |
| font-size: 26px; | |
| line-height: 1; | |
| font-family: BlenderProBold,sans-serif; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| color: #fff; | |
| text-decoration: none; | |
| letter-spacing: 2px; | |
| position: relative; | |
| } | |
| .btn-preorder__text { | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .btn-preorder__text:after { | |
| display: none; | |
| content: attr(data-text); | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| text-shadow: 2px 1px #67e3f3, -2px -2px #f8ef02; | |
| z-index: 2; | |
| } | |
| @-webkit-keyframes glitch-anim-1 { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| -webkit-clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%); | |
| clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%) | |
| } | |
| 2% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 6% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(5px); | |
| transform: translate(5px) | |
| } | |
| 8% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 9% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(0); | |
| transform: translate(0) | |
| } | |
| 10% { | |
| -webkit-clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 13% { | |
| -webkit-clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0) | |
| } | |
| 13.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 15% { | |
| -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 20% { | |
| -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(-5px, 0, 0); | |
| transform: translate3d(-5px, 0, 0) | |
| } | |
| 20.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 25% { | |
| -webkit-clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 30% { | |
| -webkit-clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(-5px, 0, 0); | |
| transform: translate3d(-5px, 0, 0) | |
| } | |
| 30.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0) | |
| } | |
| 35% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 40% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(5px); | |
| transform: translate(5px) | |
| } | |
| 45% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 50% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(0); | |
| transform: translate(0) | |
| } | |
| 55% { | |
| -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 60% { | |
| -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| opacity: 1 | |
| } | |
| 60.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| opacity: 1 | |
| } | |
| to { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| opacity: 1 | |
| } | |
| } | |
| @keyframes glitch-anim-1 { | |
| 0% { | |
| opacity: 1; | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| -webkit-clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%); | |
| clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%) | |
| } | |
| 2% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 6% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(5px); | |
| transform: translate(5px) | |
| } | |
| 8% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 9% { | |
| -webkit-clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| clip-path: polygon(0 78%, 100% 78%, 100% 100%, 0 100%); | |
| -webkit-transform: translate(0); | |
| transform: translate(0) | |
| } | |
| 10% { | |
| -webkit-clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 13% { | |
| -webkit-clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| clip-path: polygon(0 54%, 100% 54%, 100% 44%, 0 44%); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0) | |
| } | |
| 13.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 15% { | |
| -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 20% { | |
| -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 60%, 100% 60%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(-5px, 0, 0); | |
| transform: translate3d(-5px, 0, 0) | |
| } | |
| 20.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 25% { | |
| -webkit-clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 30% { | |
| -webkit-clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| clip-path: polygon(0 85%, 100% 85%, 100% 40%, 0 40%); | |
| -webkit-transform: translate3d(-5px, 0, 0); | |
| transform: translate3d(-5px, 0, 0) | |
| } | |
| 30.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0) | |
| } | |
| 35% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 40% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(5px); | |
| transform: translate(5px) | |
| } | |
| 45% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(-5px); | |
| transform: translate(-5px) | |
| } | |
| 50% { | |
| -webkit-clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| clip-path: polygon(0 63%, 100% 63%, 100% 80%, 0 80%); | |
| -webkit-transform: translate(0); | |
| transform: translate(0) | |
| } | |
| 55% { | |
| -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| -webkit-transform: translate3d(5px, 0, 0); | |
| transform: translate3d(5px, 0, 0) | |
| } | |
| 60% { | |
| -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| clip-path: polygon(0 10%, 100% 10%, 100% 0, 0 0); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| opacity: 1 | |
| } | |
| 60.1% { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| opacity: 1 | |
| } | |
| to { | |
| -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| clip-path: polygon(0 0, 0 0, 0 0, 0 0); | |
| opacity: 1 | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <html> | |
| <body> | |
| <a class="btn-preorder" href="#"> | |
| <span class="btn-preorder__text" data-text="pre order now_">pre order now_</span> | |
| <span class="btn-preorder--glitch"></span> | |
| </a> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can be seen here: https://jsfiddle.net/ajmeese7/a7d6gje2/1/