Skip to content

Instantly share code, notes, and snippets.

@SH20RAJ
Last active November 1, 2020 09:12
Show Gist options
  • Save SH20RAJ/ef261f9f541a0e7cb08600c5bc06f6fc to your computer and use it in GitHub Desktop.
Save SH20RAJ/ef261f9f541a0e7cb08600c5bc06f6fc to your computer and use it in GitHub Desktop.
Glitch Clock
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<link rel="apple-touch-icon" type="image/png" href="https://static.codepen.io/assets/favicon/apple-touch-icon-5ae1a0698dcc2402e9712f7d01ed509a57814f994c660df9f7a952f3060705ee.png" />
<meta name="apple-mobile-web-app-title" content="CodePen">
<link rel="shortcut icon" type="image/x-icon" href="https://static.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico" />
<link rel="mask-icon" type="" href="https://static.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg" color="#111" />
<title>Glitch Clock - CodeXD - India</title>
<style>
@import url("https://fonts.googleapis.com/css?family=Lato:400,700");
*,
*:before,
*:after {
margin: 0;
padding: 0;
border: 0;
outline: 0;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
html,
body {
height: 100%;
}
body {
font-family: 'Lato', sans-serif;
font-weight: 700;
background: #111;
color: #fff;
}
a.switcher {
display: block;
position: fixed;
text-decoration: none;
z-index: 999999999999;
right: 20px;
bottom: 20px;
width: 16px;
height: 16px;
background: transparent;
border: 2px solid #fff;
border-radius: 50%;
opacity: 0.15;
-webkit-transition: opacity 0.15s;
transition: opacity 0.15s;
}
a.switcher:hover {
opacity: 1;
}
a.switcher:before {
display: block;
content: '';
position: absolute;
border-radius: 4px;
width: 2px;
height: 5px;
background: #fff;
top: 0;
left: 5px;
}
.screen {
position: relative;
z-index: 1;
widht: 100%;
height: 100%;
overflow: hidden;
}
.figure {
display: block;
position: absolute;
z-index: 1;
width: 0;
height: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
border-top: 200px solid #fff;
border-right: 100px solid transparent;
border-left: 100px solid transparent;
border-bottom: 0 solid transparent;
}
.figure:before {
display: block;
content: '';
position: absolute;
z-index: 99;
width: 0;
height: 0;
top: -194px;
left: -90px;
margin: auto;
border-top: 180px solid #111;
border-right: 90px solid transparent;
border-left: 90px solid transparent;
border-bottom: 0 solid transparent;
}
.figure-mask {
display: block;
position: absolute;
z-index: 99;
width: 0;
height: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
border-top: 200px solid transparent;
border-right: 100px solid #111;
border-left: 100px solid #111;
border-bottom: 0 solid transparent;
}
.clock {
display: block;
position: absolute;
z-index: 9;
width: 720px;
height: 128px;
text-align: center;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
cursor: default;
}
.clock span {
display: block;
position: relative;
font-size: 128px;
line-height: 1;
}
.clock.is-off {
-webkit-animation: is-off 2s linear infinite !important;
animation: is-off 2s linear infinite !important;
}
.glitch:before {
position: absolute;
z-index: 999999;
content: '';
top: 0;
right: 0;
bottom: 0;
left: 0;
-webkit-animation: bg-move 2s linear infinite;
animation: bg-move 2s linear infinite;
background-size: 100% 8px;
background-image: -webkit-gradient(linear, left top, left bottom, from(0), color-stop(10%, rgba(255,255,255,0.05)), color-stop(10%, transparent), color-stop(50%, transparent), color-stop(50%, rgba(255,255,255,0.05)), color-stop(60%, rgba(255,255,255,0.05)), color-stop(60%, transparent), to(transparent));
background-image: linear-gradient(0, rgba(255,255,255,0.05) 10%, transparent 10%, transparent 50%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0.05) 60%, transparent 60%, transparent);
}
.glitch .figure,
.glitch .figure-mask {
-webkit-transform: skewX(0deg) scaleY(1);
transform: skewX(0deg) scaleY(1);
-webkit-animation: tr-bag 4s linear infinite;
animation: tr-bag 4s linear infinite;
}
.glitch .clock {
-webkit-transform: skewX(0deg) scaleY(1);
transform: skewX(0deg) scaleY(1);
-webkit-animation: clock-bag 4s linear infinite;
animation: clock-bag 4s linear infinite;
}
.glitch .clock span:before,
.glitch .clock span:after {
display: block;
content: attr(data-time);
position: absolute;
top: 0;
color: #fff;
background: #111;
overflow: hidden;
width: 720px;
height: 128px;
clip: rect(0, 900px, 0, 0);
}
.glitch .clock span:before {
left: -2px;
text-shadow: 2px 0 #00f;
animation: c2 1s infinite linear alternate-reverse;
}
.glitch .clock span:after {
left: 3px;
text-shadow: -2px 0 #f00;
animation: c1 2s infinite linear alternate-reverse;
}
@-webkit-keyframes is-off {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
56% {
opacity: 0;
}
57% {
opacity: 0;
}
58% {
opacity: 1;
}
71% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
72% {
-webkit-transform: scaleY(3) skewX(-60deg);
transform: scaleY(3) skewX(-60deg);
}
73% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
80% {
opacity: 1;
}
81% {
opacity: 0;
}
84% {
opacity: 0;
}
85% {
opacity: 1;
}
91% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
color: #fff;
}
92% {
-webkit-transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
color: #008000;
}
93% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
color: #fff;
}
}
@keyframes is-off {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
56% {
opacity: 0;
}
57% {
opacity: 0;
}
58% {
opacity: 1;
}
71% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
72% {
-webkit-transform: scaleY(3) skewX(-60deg);
transform: scaleY(3) skewX(-60deg);
}
73% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
80% {
opacity: 1;
}
81% {
opacity: 0;
}
84% {
opacity: 0;
}
85% {
opacity: 1;
}
91% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
color: #fff;
}
92% {
-webkit-transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
color: #008000;
}
93% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
color: #fff;
}
}
@-webkit-keyframes c1 {
0% {
clip: rect(60px, 9999px, 59px, 0);
}
5% {
clip: rect(28px, 9999px, 12px, 0);
}
10% {
clip: rect(3px, 9999px, 37px, 0);
}
15.000000000000002% {
clip: rect(50px, 9999px, 36px, 0);
}
20% {
clip: rect(50px, 9999px, 27px, 0);
}
25% {
clip: rect(37px, 9999px, 54px, 0);
}
30.000000000000004% {
clip: rect(49px, 9999px, 93px, 0);
}
35.00000000000001% {
clip: rect(73px, 9999px, 39px, 0);
}
40% {
clip: rect(61px, 9999px, 36px, 0);
}
45% {
clip: rect(22px, 9999px, 84px, 0);
}
50% {
clip: rect(55px, 9999px, 66px, 0);
}
55% {
clip: rect(46px, 9999px, 77px, 0);
}
60.00000000000001% {
clip: rect(99px, 9999px, 67px, 0);
}
65% {
clip: rect(3px, 9999px, 57px, 0);
}
70.00000000000001% {
clip: rect(5px, 9999px, 26px, 0);
}
75% {
clip: rect(24px, 9999px, 14px, 0);
}
80% {
clip: rect(3px, 9999px, 12px, 0);
}
85% {
clip: rect(90px, 9999px, 44px, 0);
}
90% {
clip: rect(37px, 9999px, 61px, 0);
}
95% {
clip: rect(74px, 9999px, 10px, 0);
}
100% {
clip: rect(60px, 9999px, 80px, 0);
}
}
@keyframes c1 {
0% {
clip: rect(60px, 9999px, 59px, 0);
}
5% {
clip: rect(28px, 9999px, 12px, 0);
}
10% {
clip: rect(3px, 9999px, 37px, 0);
}
15.000000000000002% {
clip: rect(50px, 9999px, 36px, 0);
}
20% {
clip: rect(50px, 9999px, 27px, 0);
}
25% {
clip: rect(37px, 9999px, 54px, 0);
}
30.000000000000004% {
clip: rect(49px, 9999px, 93px, 0);
}
35.00000000000001% {
clip: rect(73px, 9999px, 39px, 0);
}
40% {
clip: rect(61px, 9999px, 36px, 0);
}
45% {
clip: rect(22px, 9999px, 84px, 0);
}
50% {
clip: rect(55px, 9999px, 66px, 0);
}
55% {
clip: rect(46px, 9999px, 77px, 0);
}
60.00000000000001% {
clip: rect(99px, 9999px, 67px, 0);
}
65% {
clip: rect(3px, 9999px, 57px, 0);
}
70.00000000000001% {
clip: rect(5px, 9999px, 26px, 0);
}
75% {
clip: rect(24px, 9999px, 14px, 0);
}
80% {
clip: rect(3px, 9999px, 12px, 0);
}
85% {
clip: rect(90px, 9999px, 44px, 0);
}
90% {
clip: rect(37px, 9999px, 61px, 0);
}
95% {
clip: rect(74px, 9999px, 10px, 0);
}
100% {
clip: rect(60px, 9999px, 80px, 0);
}
}
@-webkit-keyframes c2 {
0% {
clip: rect(64px, 9999px, 12px, 0);
}
5% {
clip: rect(20px, 9999px, 1px, 0);
}
10% {
clip: rect(78px, 9999px, 46px, 0);
}
15.000000000000002% {
clip: rect(57px, 9999px, 17px, 0);
}
20% {
clip: rect(37px, 9999px, 29px, 0);
}
25% {
clip: rect(49px, 9999px, 20px, 0);
}
30.000000000000004% {
clip: rect(2px, 9999px, 50px, 0);
}
35.00000000000001% {
clip: rect(61px, 9999px, 42px, 0);
}
40% {
clip: rect(13px, 9999px, 77px, 0);
}
45% {
clip: rect(1px, 9999px, 86px, 0);
}
50% {
clip: rect(61px, 9999px, 5px, 0);
}
55% {
clip: rect(87px, 9999px, 54px, 0);
}
60.00000000000001% {
clip: rect(32px, 9999px, 90px, 0);
}
65% {
clip: rect(36px, 9999px, 75px, 0);
}
70.00000000000001% {
clip: rect(74px, 9999px, 36px, 0);
}
75% {
clip: rect(10px, 9999px, 68px, 0);
}
80% {
clip: rect(89px, 9999px, 44px, 0);
}
85% {
clip: rect(24px, 9999px, 20px, 0);
}
90% {
clip: rect(89px, 9999px, 91px, 0);
}
95% {
clip: rect(79px, 9999px, 40px, 0);
}
100% {
clip: rect(17px, 9999px, 6px, 0);
}
23% {
-webkit-transform: scaleX(0.8);
transform: scaleX(0.8);
}
}
@keyframes c2 {
0% {
clip: rect(64px, 9999px, 12px, 0);
}
5% {
clip: rect(20px, 9999px, 1px, 0);
}
10% {
clip: rect(78px, 9999px, 46px, 0);
}
15.000000000000002% {
clip: rect(57px, 9999px, 17px, 0);
}
20% {
clip: rect(37px, 9999px, 29px, 0);
}
25% {
clip: rect(49px, 9999px, 20px, 0);
}
30.000000000000004% {
clip: rect(2px, 9999px, 50px, 0);
}
35.00000000000001% {
clip: rect(61px, 9999px, 42px, 0);
}
40% {
clip: rect(13px, 9999px, 77px, 0);
}
45% {
clip: rect(1px, 9999px, 86px, 0);
}
50% {
clip: rect(61px, 9999px, 5px, 0);
}
55% {
clip: rect(87px, 9999px, 54px, 0);
}
60.00000000000001% {
clip: rect(32px, 9999px, 90px, 0);
}
65% {
clip: rect(36px, 9999px, 75px, 0);
}
70.00000000000001% {
clip: rect(74px, 9999px, 36px, 0);
}
75% {
clip: rect(10px, 9999px, 68px, 0);
}
80% {
clip: rect(89px, 9999px, 44px, 0);
}
85% {
clip: rect(24px, 9999px, 20px, 0);
}
90% {
clip: rect(89px, 9999px, 91px, 0);
}
95% {
clip: rect(79px, 9999px, 40px, 0);
}
100% {
clip: rect(17px, 9999px, 6px, 0);
}
23% {
-webkit-transform: scaleX(0.8);
transform: scaleX(0.8);
}
}
@-webkit-keyframes clock-bag {
0% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
2% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
4% {
-webkit-transform: translate(1px, 3px);
transform: translate(1px, 3px);
}
6% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
8% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
10% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
12% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
14.000000000000002% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
16% {
-webkit-transform: translate(5px, 1px);
transform: translate(5px, 1px);
}
18% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
20% {
-webkit-transform: translate(5px, 3px);
transform: translate(5px, 3px);
}
22% {
-webkit-transform: translate(4px, 5px);
transform: translate(4px, 5px);
}
24% {
-webkit-transform: translate(1px, 1px);
transform: translate(1px, 1px);
}
26% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
28.000000000000004% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
30% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
32% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
34% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
36% {
-webkit-transform: translate(5px, 1px);
transform: translate(5px, 1px);
}
38% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
40% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
42% {
-webkit-transform: translate(2px, 3px);
transform: translate(2px, 3px);
}
44% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
46.00000000000001% {
-webkit-transform: translate(1px, 1px);
transform: translate(1px, 1px);
}
48% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
50% {
-webkit-transform: translate(3px, 4px);
transform: translate(3px, 4px);
}
52% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
54% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
56.00000000000001% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
58% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
60% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
62% {
-webkit-transform: translate(4px, 5px);
transform: translate(4px, 5px);
}
64% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
66% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
68% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
70.00000000000001% {
-webkit-transform: translate(5px, 2px);
transform: translate(5px, 2px);
}
72% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
74% {
-webkit-transform: translate(5px, 2px);
transform: translate(5px, 2px);
}
76% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
78% {
-webkit-transform: translate(3px, 2px);
transform: translate(3px, 2px);
}
80% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
82.00000000000001% {
-webkit-transform: translate(5px, 3px);
transform: translate(5px, 3px);
}
84% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
86% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
88% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
90% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
92.00000000000001% {
-webkit-transform: translate(3px, 3px);
transform: translate(3px, 3px);
}
94% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
96% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
98% {
-webkit-transform: translate(2px, 5px);
transform: translate(2px, 5px);
}
100% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
1% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
1.5% {
-webkit-transform: scaleY(3) skewX(-60deg);
transform: scaleY(3) skewX(-60deg);
}
2% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
51% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
52% {
-webkit-transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
}
53% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
}
@keyframes clock-bag {
0% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
2% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
4% {
-webkit-transform: translate(1px, 3px);
transform: translate(1px, 3px);
}
6% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
8% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
10% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
12% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
14.000000000000002% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
16% {
-webkit-transform: translate(5px, 1px);
transform: translate(5px, 1px);
}
18% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
20% {
-webkit-transform: translate(5px, 3px);
transform: translate(5px, 3px);
}
22% {
-webkit-transform: translate(4px, 5px);
transform: translate(4px, 5px);
}
24% {
-webkit-transform: translate(1px, 1px);
transform: translate(1px, 1px);
}
26% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
28.000000000000004% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
30% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
32% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
34% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
36% {
-webkit-transform: translate(5px, 1px);
transform: translate(5px, 1px);
}
38% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
40% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
42% {
-webkit-transform: translate(2px, 3px);
transform: translate(2px, 3px);
}
44% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
46.00000000000001% {
-webkit-transform: translate(1px, 1px);
transform: translate(1px, 1px);
}
48% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
50% {
-webkit-transform: translate(3px, 4px);
transform: translate(3px, 4px);
}
52% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
54% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
56.00000000000001% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
58% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
60% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
62% {
-webkit-transform: translate(4px, 5px);
transform: translate(4px, 5px);
}
64% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
66% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
68% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
70.00000000000001% {
-webkit-transform: translate(5px, 2px);
transform: translate(5px, 2px);
}
72% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
74% {
-webkit-transform: translate(5px, 2px);
transform: translate(5px, 2px);
}
76% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
78% {
-webkit-transform: translate(3px, 2px);
transform: translate(3px, 2px);
}
80% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
82.00000000000001% {
-webkit-transform: translate(5px, 3px);
transform: translate(5px, 3px);
}
84% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
86% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
88% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
90% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
92.00000000000001% {
-webkit-transform: translate(3px, 3px);
transform: translate(3px, 3px);
}
94% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
96% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
98% {
-webkit-transform: translate(2px, 5px);
transform: translate(2px, 5px);
}
100% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
1% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
1.5% {
-webkit-transform: scaleY(3) skewX(-60deg);
transform: scaleY(3) skewX(-60deg);
}
2% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
51% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
52% {
-webkit-transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
}
53% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
}
@-webkit-keyframes tr-bag {
0% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
2% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
4% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
6% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
8% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
10% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
12% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
14.000000000000002% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
16% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
18% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
20% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
22% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
24% {
-webkit-transform: translate(3px, 2px);
transform: translate(3px, 2px);
}
26% {
-webkit-transform: translate(1px, 3px);
transform: translate(1px, 3px);
}
28.000000000000004% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
30% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
32% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
34% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
36% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
38% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
40% {
-webkit-transform: translate(2px, 5px);
transform: translate(2px, 5px);
}
42% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
44% {
-webkit-transform: translate(3px, 3px);
transform: translate(3px, 3px);
}
46.00000000000001% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
48% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
50% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
52% {
-webkit-transform: translate(2px, 3px);
transform: translate(2px, 3px);
}
54% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
56.00000000000001% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
58% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
60% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
62% {
-webkit-transform: translate(5px, 3px);
transform: translate(5px, 3px);
}
64% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
66% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
68% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
70.00000000000001% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
72% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
74% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
76% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
78% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
80% {
-webkit-transform: translate(1px, 3px);
transform: translate(1px, 3px);
}
82.00000000000001% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
84% {
-webkit-transform: translate(1px, 1px);
transform: translate(1px, 1px);
}
86% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
88% {
-webkit-transform: translate(3px, 2px);
transform: translate(3px, 2px);
}
90% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
92.00000000000001% {
-webkit-transform: translate(4px, 5px);
transform: translate(4px, 5px);
}
94% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
96% {
-webkit-transform: translate(5px, 1px);
transform: translate(5px, 1px);
}
98% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
100% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
1% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
1.5% {
-webkit-transform: scaleY(3) skewX(-60deg);
transform: scaleY(3) skewX(-60deg);
}
2% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
51% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
52% {
-webkit-transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
}
53% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
}
@keyframes tr-bag {
0% {
-webkit-transform: translate(2px, 4px);
transform: translate(2px, 4px);
}
2% {
-webkit-transform: translate(1px, 4px);
transform: translate(1px, 4px);
}
4% {
-webkit-transform: translate(1px, 2px);
transform: translate(1px, 2px);
}
6% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
8% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
10% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
12% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
14.000000000000002% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
16% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
18% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
20% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
22% {
-webkit-transform: translate(4px, 3px);
transform: translate(4px, 3px);
}
24% {
-webkit-transform: translate(3px, 2px);
transform: translate(3px, 2px);
}
26% {
-webkit-transform: translate(1px, 3px);
transform: translate(1px, 3px);
}
28.000000000000004% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
30% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
32% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
34% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
36% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
38% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
40% {
-webkit-transform: translate(2px, 5px);
transform: translate(2px, 5px);
}
42% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
44% {
-webkit-transform: translate(3px, 3px);
transform: translate(3px, 3px);
}
46.00000000000001% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
48% {
-webkit-transform: translate(3px, 1px);
transform: translate(3px, 1px);
}
50% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
52% {
-webkit-transform: translate(2px, 3px);
transform: translate(2px, 3px);
}
54% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
56.00000000000001% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
58% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
60% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
62% {
-webkit-transform: translate(5px, 3px);
transform: translate(5px, 3px);
}
64% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
66% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
68% {
-webkit-transform: translate(5px, 4px);
transform: translate(5px, 4px);
}
70.00000000000001% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
72% {
-webkit-transform: translate(4px, 4px);
transform: translate(4px, 4px);
}
74% {
-webkit-transform: translate(4px, 2px);
transform: translate(4px, 2px);
}
76% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
78% {
-webkit-transform: translate(1px, 5px);
transform: translate(1px, 5px);
}
80% {
-webkit-transform: translate(1px, 3px);
transform: translate(1px, 3px);
}
82.00000000000001% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
84% {
-webkit-transform: translate(1px, 1px);
transform: translate(1px, 1px);
}
86% {
-webkit-transform: translate(2px, 1px);
transform: translate(2px, 1px);
}
88% {
-webkit-transform: translate(3px, 2px);
transform: translate(3px, 2px);
}
90% {
-webkit-transform: translate(2px, 2px);
transform: translate(2px, 2px);
}
92.00000000000001% {
-webkit-transform: translate(4px, 5px);
transform: translate(4px, 5px);
}
94% {
-webkit-transform: translate(4px, 1px);
transform: translate(4px, 1px);
}
96% {
-webkit-transform: translate(5px, 1px);
transform: translate(5px, 1px);
}
98% {
-webkit-transform: translate(3px, 5px);
transform: translate(3px, 5px);
}
100% {
-webkit-transform: translate(5px, 5px);
transform: translate(5px, 5px);
}
1% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
1.5% {
-webkit-transform: scaleY(3) skewX(-60deg);
transform: scaleY(3) skewX(-60deg);
}
2% {
-webkit-transform: scaleY(1) skewX(0deg);
transform: scaleY(1) skewX(0deg);
}
51% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
52% {
-webkit-transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
transform: scaleX(1.5) scaleY(0.2) skewX(80deg);
}
53% {
-webkit-transform: scaleX(1) scaleY(1) skewX(0deg);
transform: scaleX(1) scaleY(1) skewX(0deg);
}
}
@-webkit-keyframes bg-move {
0% {
background-position: 0 0;
}
100% {
background-position: 0 -32px;
}
}
@keyframes bg-move {
0% {
background-position: 0 0;
}
100% {
background-position: 0 -32px;
}
}
</style>
<script>
window.console = window.console || function(t) {};
</script>
<script>
if (document.location.search.match(/type=embed/gi)) {
window.parent.postMessage("resize", "*");
}
</script>
<link rel="me" href="https://www.blogger.com/profile/08834776222753225178" />
</head>
<body translate="no" >
<a class="switcher" href="#"></a>
<div class="screen glitch">
<div class="clock is-off"><span class="time" data-time=""></span></div>
<div class="figure"></div>
<div class="figure-mask"></div>
</div>
<script src="https://static.codepen.io/assets/common/stopExecutionOnTimeout-157cd5b220a5c80d4ff8e0e70ac069bffd87a61252088146915e8726e5d9f147.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script id="rendered-js" >
$(document).ready(function () {
function second_passed() {
$('.clock').removeClass('is-off');
}
setTimeout(second_passed, 2000);
$('.switcher').on('click', function (e) {
e.preventDefault();
$('.screen').toggleClass('glitch');
});
var newDate = new Date();
newDate.setDate(newDate.getDate());
setInterval(function () {
var hours = new Date().getHours();
var seconds = new Date().getSeconds();
var minutes = new Date().getMinutes();
var realTime = (hours < 10 ? '0' : '') + hours + ' : ' + (minutes < 10 ? '0' : '') + minutes + ' : ' + (seconds < 10 ? '0' : '') + seconds;
$('.time').html(realTime);
$('.time').attr('data-time', realTime);
}, 1000);
});
//# sourceURL=pen.js
</script>
</body>
</html>
a(href='#').switcher
.screen.glitch
.clock.is-off
span(data-time='').time
.figure
.figure-mask
$(document).ready(function () {
function second_passed() {
$('.clock').removeClass('is-off');
}
setTimeout(second_passed, 2000)
$('.switcher').on('click', function(e) {
e.preventDefault();
$('.screen').toggleClass('glitch');
});
var newDate = new Date();
newDate.setDate(newDate.getDate());
setInterval( function() {
var hours = new Date().getHours();
var seconds = new Date().getSeconds();
var minutes = new Date().getMinutes();
var realTime = ( hours < 10 ? '0' : '' ) + hours + ' : ' + ( minutes < 10 ? '0' : '' ) + minutes + ' : ' + ( seconds < 10 ? '0' : '' ) + seconds
$('.time').html(realTime);
$('.time').attr('data-time', realTime);
}, 1000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
$bg-color = #111
$txt-color = #fff
$color-c1 = red
$color-c2 = blue
$offset-c1 = 3
$offset-c2 = 2
$lay-c1 = 2
$lay-c2 = 2
*,
*:before,
*:after
margin: 0
padding: 0
border: 0
outline: 0
box-sizing: border-box
user-select: none
html,
body
height: 100%
body
font-family: 'Lato', sans-serif
font-weight: 700
background: $bg-color
color: $txt-color
a.switcher
display: block
position: fixed
text-decoration: none
z-index: 999999999999
right: 20px
bottom: 20px
width: 16px
height: 16px
background: transparent
border: 2px solid $txt-color
border-radius: 50%
opacity: .15
transition: opacity .150s
&:hover
opacity: 1
&:before
display: block
content: ''
position: absolute
border-radius: 4px
width: 2px
height: 5px
background: $txt-color
top: 0
left: 5px
.screen
position: relative
z-index: 1
widht: 100%
height: 100%
overflow: hidden
.figure
display: block
position: absolute
z-index: 1
width: 0
height: 0
top: 0
right: 0
bottom: 0
left: 0
margin: auto
border-top: 200px solid $txt-color
border-right: 100px solid transparent
border-left: 100px solid transparent
border-bottom: 0 solid transparent
&:before
display: block
content: ''
position: absolute
z-index: 99
width: 0
height: 0
top: -194px
left: -90px
margin: auto
border-top: 180px solid $bg-color
border-right: 90px solid transparent
border-left: 90px solid transparent
border-bottom: 0 solid transparent
.figure-mask
display: block
position: absolute
z-index: 99
width: 0
height: 0
top: 0
right: 0
bottom: 0
left: 0
margin: auto
border-top: 200px solid transparent
border-right: 100px solid $bg-color
border-left: 100px solid $bg-color
border-bottom: 0 solid transparent
.clock
display: block
position: absolute
z-index: 9
width: 720px
height: 128px
text-align: center
top: 0
right: 0
bottom: 0
left: 0
margin: auto
cursor: default
span
display: block
position: relative
font-size: 128px
line-height: 1
&.is-off
animation: is-off 2s linear infinite !important
.glitch
&:before
position: absolute
z-index: 999999
content: ''
top: 0
right: 0
bottom: 0
left: 0
animation: bg-move 2s linear infinite
background-size: 100% 8px
background-image: linear-gradient(0, rgba(255,255,255,.05) 10%, transparent 10%, transparent 50%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.05) 60%, transparent 60%, transparent)
.figure,
.figure-mask
transform: skewX(0deg) scaleY(1)
animation: tr-bag 4s linear infinite
.clock
transform: skewX(0deg) scaleY(1)
animation: clock-bag 4s linear infinite
span
&:before,
&:after
display: block
content: attr(data-time)
position: absolute
top: 0
color: $txt-color
background: $bg-color
overflow: hidden
width: 720px
height: 128px
clip: rect(0,900px,0,0)
&:before
left: -($offset-c2)px
text-shadow: ($lay-c2)px 0 $color-c2
animation: c2 1s infinite linear alternate-reverse
&:after
left: ($offset-c1)px
text-shadow: -($lay-c1)px 0 $color-c1
animation: c1 2s infinite linear alternate-reverse
// animation
random(val)
return math(math(0, 'random') * val + 1, 'floor')
@keyframes is-off
0%
opacity: 1
50%
opacity: 1
56%
opacity: 0
57%
opacity: 0
58%
opacity: 1
71%
transform: scaleY(1) skewX(0deg)
72%
transform: scaleY(3) skewX(-60deg)
73%
transform: scaleY(1) skewX(0deg)
80%
opacity: 1
81%
opacity: 0
84%
opacity: 0
85%
opacity: 1
91%
transform: scaleX(1) scaleY(1) skewX(0deg)
color: $txt-color
92%
transform: scaleX(1.5) scaleY(.2) skewX(80deg)
color: green
93%
transform: scaleX(1) scaleY(1) skewX(0deg)
color: $txt-color
@keyframes c1
for i in (0..20)
{i*(1/20)*10*10%}
clip: rect( random(100)px, 9999px, random(100)px, 0);
@keyframes c2
for i in (0..20)
{i*(1/20)*10*10%}
clip: rect( random(100)px, 9999px, random(100)px, 0);
23%
transform: scaleX(.8);
@keyframes clock-bag
for i in (0..50)
{i*(1/50)*10*10%}
transform: translate(random(5)px, random(5)px)
1%
transform: scaleY(1) skewX(0deg)
1.5%
transform: scaleY(3) skewX(-60deg)
2%
transform: scaleY(1) skewX(0deg)
51%
transform: scaleX(1) scaleY(1) skewX(0deg)
52%
transform: scaleX(1.5) scaleY(.2) skewX(80deg)
53%
transform: scaleX(1) scaleY(1) skewX(0deg)
@keyframes tr-bag
for i in (0..50)
{i*(1/50)*10*10%}
transform: translate(random(5)px, random(5)px)
1%
transform: scaleY(1) skewX(0deg)
1.5%
transform: scaleY(3) skewX(-60deg)
2%
transform: scaleY(1) skewX(0deg)
51%
transform: scaleX(1) scaleY(1) skewX(0deg)
52%
transform: scaleX(1.5) scaleY(.2) skewX(80deg)
53%
transform: scaleX(1) scaleY(1) skewX(0deg)
@keyframes bg-move
0%
background-position: 0 0
100%
background-position: 0 -32px
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment