Update CRT effect
All checks were successful
Build And Deploy / build-and-deploy (push) Successful in 1m44s
All checks were successful
Build And Deploy / build-and-deploy (push) Successful in 1m44s
Add animated text glow, 'screen door' overlay, and flicker effect. Remove unncessary comments.
This commit is contained in:
parent
2548a84e0b
commit
75a413621d
2 changed files with 231 additions and 24 deletions
|
|
@ -1,9 +1,3 @@
|
|||
/*
|
||||
Inspired by:
|
||||
- Mike Mai @ https://mikemai.net/
|
||||
- David Bushell @ https://dbushell.com/
|
||||
- Viznut @ http://viznut.fi/
|
||||
*/
|
||||
@layer reset, config, font, utilities, theme;
|
||||
@import "reset.css" layer(reset);
|
||||
@import "theme.css" layer(theme);
|
||||
|
|
@ -118,9 +112,12 @@ Inspired by:
|
|||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {}
|
||||
|
||||
@media (prefers-contrast: more) {}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {}
|
||||
@media (prefers-color-scheme: light) {
|
||||
}
|
||||
|
||||
@media (prefers-contrast: more) {
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
238
public/theme.css
238
public/theme.css
|
|
@ -35,6 +35,7 @@ small.pico {
|
|||
font-size: var(--pt-minion);
|
||||
}
|
||||
body {
|
||||
animation: textShadow 1.6s infinite;
|
||||
background-color: var(--color-bg);
|
||||
background-image: radial-gradient(
|
||||
var(--color-accent-transparent),
|
||||
|
|
@ -56,25 +57,234 @@ body {
|
|||
top: 0;
|
||||
width: 100dvi;
|
||||
}
|
||||
@keyframes flicker {
|
||||
0% {
|
||||
opacity: 0.27861;
|
||||
}
|
||||
5% {
|
||||
opacity: 0.34769;
|
||||
}
|
||||
10% {
|
||||
opacity: 0.23604;
|
||||
}
|
||||
15% {
|
||||
opacity: 0.90626;
|
||||
}
|
||||
20% {
|
||||
opacity: 0.18128;
|
||||
}
|
||||
25% {
|
||||
opacity: 0.83891;
|
||||
}
|
||||
30% {
|
||||
opacity: 0.65583;
|
||||
}
|
||||
35% {
|
||||
opacity: 0.67807;
|
||||
}
|
||||
40% {
|
||||
opacity: 0.26559;
|
||||
}
|
||||
45% {
|
||||
opacity: 0.84693;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.96019;
|
||||
}
|
||||
55% {
|
||||
opacity: 0.08594;
|
||||
}
|
||||
60% {
|
||||
opacity: 0.20313;
|
||||
}
|
||||
65% {
|
||||
opacity: 0.71988;
|
||||
}
|
||||
70% {
|
||||
opacity: 0.53455;
|
||||
}
|
||||
75% {
|
||||
opacity: 0.37288;
|
||||
}
|
||||
80% {
|
||||
opacity: 0.71428;
|
||||
}
|
||||
85% {
|
||||
opacity: 0.70419;
|
||||
}
|
||||
90% {
|
||||
opacity: 0.7003;
|
||||
}
|
||||
95% {
|
||||
opacity: 0.36108;
|
||||
}
|
||||
100% {
|
||||
opacity: 0.24387;
|
||||
}
|
||||
}
|
||||
@keyframes textShadow {
|
||||
0% {
|
||||
text-shadow:
|
||||
0.4389924193300864px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.4389924193300864px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
5% {
|
||||
text-shadow:
|
||||
2.7928974010788217px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.7928974010788217px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
10% {
|
||||
text-shadow:
|
||||
0.02956275843481219px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.02956275843481219px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
15% {
|
||||
text-shadow:
|
||||
0.40218538552878136px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.40218538552878136px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
20% {
|
||||
text-shadow:
|
||||
3.4794037899852017px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-3.4794037899852017px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
25% {
|
||||
text-shadow:
|
||||
1.6125630401149584px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-1.6125630401149584px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
30% {
|
||||
text-shadow:
|
||||
0.7015590085143956px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.7015590085143956px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
35% {
|
||||
text-shadow:
|
||||
3.896914047650351px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-3.896914047650351px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
40% {
|
||||
text-shadow:
|
||||
3.870905614848819px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-3.870905614848819px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
45% {
|
||||
text-shadow:
|
||||
2.231056963361899px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.231056963361899px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
50% {
|
||||
text-shadow:
|
||||
0.08084290417898504px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.08084290417898504px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
55% {
|
||||
text-shadow:
|
||||
2.3758461067427543px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.3758461067427543px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
60% {
|
||||
text-shadow:
|
||||
2.202193051050636px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.202193051050636px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
65% {
|
||||
text-shadow:
|
||||
2.8638780614874975px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.8638780614874975px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
70% {
|
||||
text-shadow:
|
||||
0.48874025155497314px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.48874025155497314px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
75% {
|
||||
text-shadow:
|
||||
1.8948491305757957px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-1.8948491305757957px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
80% {
|
||||
text-shadow:
|
||||
0.0833037308038857px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.0833037308038857px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
85% {
|
||||
text-shadow:
|
||||
0.09769827255241735px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-0.09769827255241735px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
90% {
|
||||
text-shadow:
|
||||
3.443339761481782px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-3.443339761481782px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
95% {
|
||||
text-shadow:
|
||||
2.1841838852799786px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.1841838852799786px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
100% {
|
||||
text-shadow:
|
||||
2.6208764473832513px 0 1px rgba(0, 30, 255, 0.5),
|
||||
-2.6208764473832513px 0 1px rgba(255, 0, 80, 0.3),
|
||||
0 0 3px;
|
||||
}
|
||||
}
|
||||
body::after {
|
||||
background: repeating-linear-gradient(
|
||||
0deg,
|
||||
rgba(0, 0, 0, 0.25),
|
||||
rgba(0, 0, 0, 0.25) 1px,
|
||||
transparent 1px,
|
||||
transparent 2px
|
||||
);
|
||||
content: " ";
|
||||
height: 100dvb;
|
||||
left: 0;
|
||||
pointer-events: none;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100dvi;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(18, 16, 16, 0.1);
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
pointer-events: none;
|
||||
animation: flicker 15s infinite;
|
||||
}
|
||||
::selection {
|
||||
background: var(--color-accent);
|
||||
text-shadow: none;
|
||||
body::before {
|
||||
content: " ";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background:
|
||||
linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%),
|
||||
linear-gradient(
|
||||
90deg,
|
||||
rgba(255, 0, 0, 0.06),
|
||||
rgba(0, 255, 0, 0.02),
|
||||
rgba(0, 0, 255, 0.06)
|
||||
);
|
||||
z-index: 2;
|
||||
background-size:
|
||||
100% 2px,
|
||||
3px 100%;
|
||||
pointer-events: none;
|
||||
}
|
||||
header,
|
||||
main,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue