Created
July 22, 2022 11:52
-
-
Save lokka30/d6b46fd230c698315ff2bbd6eab2298d to your computer and use it in GitHub Desktop.
Rainbow animated website background using pure CSS or JavaScript
This file contains 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
<!DOCTYPE HTML> | |
<html> | |
<head> | |
<style> | |
@keyframes rainbow-background { | |
0% { background-color: hsl(0, 50%, 50%); } | |
0.5% { background-color: hsl(1.8, 50%, 50%); } | |
1% { background-color: hsl(3.6, 50%, 50%); } | |
1.5% { background-color: hsl(5.4, 50%, 50%); } | |
2% { background-color: hsl(7.2, 50%, 50%); } | |
2.5% { background-color: hsl(9, 50%, 50%); } | |
3% { background-color: hsl(10.8, 50%, 50%); } | |
3.5% { background-color: hsl(12.6, 50%, 50%); } | |
4% { background-color: hsl(14.4, 50%, 50%); } | |
4.5% { background-color: hsl(16.2, 50%, 50%); } | |
5% { background-color: hsl(18, 50%, 50%); } | |
5.5% { background-color: hsl(19.8, 50%, 50%); } | |
6% { background-color: hsl(21.6, 50%, 50%); } | |
6.5% { background-color: hsl(23.4, 50%, 50%); } | |
7% { background-color: hsl(25.2, 50%, 50%); } | |
7.5% { background-color: hsl(27, 50%, 50%); } | |
8% { background-color: hsl(28.8, 50%, 50%); } | |
8.5% { background-color: hsl(30.6, 50%, 50%); } | |
9% { background-color: hsl(32.4, 50%, 50%); } | |
9.5% { background-color: hsl(34.2, 50%, 50%); } | |
10% { background-color: hsl(36, 50%, 50%); } | |
10.5% { background-color: hsl(37.8, 50%, 50%); } | |
11% { background-color: hsl(39.6, 50%, 50%); } | |
11.5% { background-color: hsl(41.4, 50%, 50%); } | |
12% { background-color: hsl(43.2, 50%, 50%); } | |
12.5% { background-color: hsl(45, 50%, 50%); } | |
13% { background-color: hsl(46.8, 50%, 50%); } | |
13.5% { background-color: hsl(48.6, 50%, 50%); } | |
14% { background-color: hsl(50.4, 50%, 50%); } | |
14.5% { background-color: hsl(52.2, 50%, 50%); } | |
15% { background-color: hsl(54, 50%, 50%); } | |
15.5% { background-color: hsl(55.8, 50%, 50%); } | |
16% { background-color: hsl(57.6, 50%, 50%); } | |
16.5% { background-color: hsl(59.4, 50%, 50%); } | |
17% { background-color: hsl(61.2, 50%, 50%); } | |
17.5% { background-color: hsl(63, 50%, 50%); } | |
18% { background-color: hsl(64.8, 50%, 50%); } | |
18.5% { background-color: hsl(66.6, 50%, 50%); } | |
19% { background-color: hsl(68.4, 50%, 50%); } | |
19.5% { background-color: hsl(70.2, 50%, 50%); } | |
20% { background-color: hsl(72, 50%, 50%); } | |
20.5% { background-color: hsl(73.8, 50%, 50%); } | |
21% { background-color: hsl(75.6, 50%, 50%); } | |
21.5% { background-color: hsl(77.4, 50%, 50%); } | |
22% { background-color: hsl(79.2, 50%, 50%); } | |
22.5% { background-color: hsl(81, 50%, 50%); } | |
23% { background-color: hsl(82.8, 50%, 50%); } | |
23.5% { background-color: hsl(84.6, 50%, 50%); } | |
24% { background-color: hsl(86.4, 50%, 50%); } | |
24.5% { background-color: hsl(88.2, 50%, 50%); } | |
25% { background-color: hsl(90, 50%, 50%); } | |
25.5% { background-color: hsl(91.8, 50%, 50%); } | |
26% { background-color: hsl(93.6, 50%, 50%); } | |
26.5% { background-color: hsl(95.4, 50%, 50%); } | |
27% { background-color: hsl(97.2, 50%, 50%); } | |
27.5% { background-color: hsl(99, 50%, 50%); } | |
28% { background-color: hsl(100.8, 50%, 50%); } | |
28.5% { background-color: hsl(102.6, 50%, 50%); } | |
29% { background-color: hsl(104.4, 50%, 50%); } | |
29.5% { background-color: hsl(106.2, 50%, 50%); } | |
30% { background-color: hsl(108, 50%, 50%); } | |
30.5% { background-color: hsl(109.8, 50%, 50%); } | |
31% { background-color: hsl(111.6, 50%, 50%); } | |
31.5% { background-color: hsl(113.4, 50%, 50%); } | |
32% { background-color: hsl(115.2, 50%, 50%); } | |
32.5% { background-color: hsl(117, 50%, 50%); } | |
33% { background-color: hsl(118.8, 50%, 50%); } | |
33.5% { background-color: hsl(120.6, 50%, 50%); } | |
34% { background-color: hsl(122.4, 50%, 50%); } | |
34.5% { background-color: hsl(124.2, 50%, 50%); } | |
35% { background-color: hsl(126, 50%, 50%); } | |
35.5% { background-color: hsl(127.8, 50%, 50%); } | |
36% { background-color: hsl(129.6, 50%, 50%); } | |
36.5% { background-color: hsl(131.4, 50%, 50%); } | |
37% { background-color: hsl(133.2, 50%, 50%); } | |
37.5% { background-color: hsl(135, 50%, 50%); } | |
38% { background-color: hsl(136.8, 50%, 50%); } | |
38.5% { background-color: hsl(138.6, 50%, 50%); } | |
39% { background-color: hsl(140.4, 50%, 50%); } | |
39.5% { background-color: hsl(142.2, 50%, 50%); } | |
40% { background-color: hsl(144, 50%, 50%); } | |
40.5% { background-color: hsl(145.8, 50%, 50%); } | |
41% { background-color: hsl(147.6, 50%, 50%); } | |
41.5% { background-color: hsl(149.4, 50%, 50%); } | |
42% { background-color: hsl(151.2, 50%, 50%); } | |
42.5% { background-color: hsl(153, 50%, 50%); } | |
43% { background-color: hsl(154.8, 50%, 50%); } | |
43.5% { background-color: hsl(156.6, 50%, 50%); } | |
44% { background-color: hsl(158.4, 50%, 50%); } | |
44.5% { background-color: hsl(160.2, 50%, 50%); } | |
45% { background-color: hsl(162, 50%, 50%); } | |
45.5% { background-color: hsl(163.8, 50%, 50%); } | |
46% { background-color: hsl(165.6, 50%, 50%); } | |
46.5% { background-color: hsl(167.4, 50%, 50%); } | |
47% { background-color: hsl(169.2, 50%, 50%); } | |
47.5% { background-color: hsl(171, 50%, 50%); } | |
48% { background-color: hsl(172.8, 50%, 50%); } | |
48.5% { background-color: hsl(174.6, 50%, 50%); } | |
49% { background-color: hsl(176.4, 50%, 50%); } | |
49.5% { background-color: hsl(178.2, 50%, 50%); } | |
50% { background-color: hsl(180, 50%, 50%); } | |
50.5% { background-color: hsl(181.8, 50%, 50%); } | |
51% { background-color: hsl(183.6, 50%, 50%); } | |
51.5% { background-color: hsl(185.4, 50%, 50%); } | |
52% { background-color: hsl(187.2, 50%, 50%); } | |
52.5% { background-color: hsl(189, 50%, 50%); } | |
53% { background-color: hsl(190.8, 50%, 50%); } | |
53.5% { background-color: hsl(192.6, 50%, 50%); } | |
54% { background-color: hsl(194.4, 50%, 50%); } | |
54.5% { background-color: hsl(196.2, 50%, 50%); } | |
55% { background-color: hsl(198, 50%, 50%); } | |
55.5% { background-color: hsl(199.8, 50%, 50%); } | |
56% { background-color: hsl(201.6, 50%, 50%); } | |
56.5% { background-color: hsl(203.4, 50%, 50%); } | |
57% { background-color: hsl(205.2, 50%, 50%); } | |
57.5% { background-color: hsl(207, 50%, 50%); } | |
58% { background-color: hsl(208.8, 50%, 50%); } | |
58.5% { background-color: hsl(210.6, 50%, 50%); } | |
59% { background-color: hsl(212.4, 50%, 50%); } | |
59.5% { background-color: hsl(214.2, 50%, 50%); } | |
60% { background-color: hsl(216, 50%, 50%); } | |
60.5% { background-color: hsl(217.8, 50%, 50%); } | |
61% { background-color: hsl(219.6, 50%, 50%); } | |
61.5% { background-color: hsl(221.4, 50%, 50%); } | |
62% { background-color: hsl(223.2, 50%, 50%); } | |
62.5% { background-color: hsl(225, 50%, 50%); } | |
63% { background-color: hsl(226.8, 50%, 50%); } | |
63.5% { background-color: hsl(228.6, 50%, 50%); } | |
64% { background-color: hsl(230.4, 50%, 50%); } | |
64.5% { background-color: hsl(232.2, 50%, 50%); } | |
65% { background-color: hsl(234, 50%, 50%); } | |
65.5% { background-color: hsl(235.8, 50%, 50%); } | |
66% { background-color: hsl(237.6, 50%, 50%); } | |
66.5% { background-color: hsl(239.4, 50%, 50%); } | |
67% { background-color: hsl(241.2, 50%, 50%); } | |
67.5% { background-color: hsl(243, 50%, 50%); } | |
68% { background-color: hsl(244.8, 50%, 50%); } | |
68.5% { background-color: hsl(246.6, 50%, 50%); } | |
69% { background-color: hsl(248.4, 50%, 50%); } | |
69.5% { background-color: hsl(250.2, 50%, 50%); } | |
70% { background-color: hsl(252, 50%, 50%); } | |
70.5% { background-color: hsl(253.8, 50%, 50%); } | |
71% { background-color: hsl(255.6, 50%, 50%); } | |
71.5% { background-color: hsl(257.4, 50%, 50%); } | |
72% { background-color: hsl(259.2, 50%, 50%); } | |
72.5% { background-color: hsl(261, 50%, 50%); } | |
73% { background-color: hsl(262.8, 50%, 50%); } | |
73.5% { background-color: hsl(264.6, 50%, 50%); } | |
74% { background-color: hsl(266.4, 50%, 50%); } | |
74.5% { background-color: hsl(268.2, 50%, 50%); } | |
75% { background-color: hsl(270, 50%, 50%); } | |
75.5% { background-color: hsl(271.8, 50%, 50%); } | |
76% { background-color: hsl(273.6, 50%, 50%); } | |
76.5% { background-color: hsl(275.4, 50%, 50%); } | |
77% { background-color: hsl(277.2, 50%, 50%); } | |
77.5% { background-color: hsl(279, 50%, 50%); } | |
78% { background-color: hsl(280.8, 50%, 50%); } | |
78.5% { background-color: hsl(282.6, 50%, 50%); } | |
79% { background-color: hsl(284.4, 50%, 50%); } | |
79.5% { background-color: hsl(286.2, 50%, 50%); } | |
80% { background-color: hsl(288, 50%, 50%); } | |
80.5% { background-color: hsl(289.8, 50%, 50%); } | |
81% { background-color: hsl(291.6, 50%, 50%); } | |
81.5% { background-color: hsl(293.4, 50%, 50%); } | |
82% { background-color: hsl(295.2, 50%, 50%); } | |
82.5% { background-color: hsl(297, 50%, 50%); } | |
83% { background-color: hsl(298.8, 50%, 50%); } | |
83.5% { background-color: hsl(300.6, 50%, 50%); } | |
84% { background-color: hsl(302.4, 50%, 50%); } | |
84.5% { background-color: hsl(304.2, 50%, 50%); } | |
85% { background-color: hsl(306, 50%, 50%); } | |
85.5% { background-color: hsl(307.8, 50%, 50%); } | |
86% { background-color: hsl(309.6, 50%, 50%); } | |
86.5% { background-color: hsl(311.4, 50%, 50%); } | |
87% { background-color: hsl(313.2, 50%, 50%); } | |
87.5% { background-color: hsl(315, 50%, 50%); } | |
88% { background-color: hsl(316.8, 50%, 50%); } | |
88.5% { background-color: hsl(318.6, 50%, 50%); } | |
89% { background-color: hsl(320.4, 50%, 50%); } | |
89.5% { background-color: hsl(322.2, 50%, 50%); } | |
90% { background-color: hsl(324, 50%, 50%); } | |
90.5% { background-color: hsl(325.8, 50%, 50%); } | |
91% { background-color: hsl(327.6, 50%, 50%); } | |
91.5% { background-color: hsl(329.4, 50%, 50%); } | |
92% { background-color: hsl(331.2, 50%, 50%); } | |
92.5% { background-color: hsl(333, 50%, 50%); } | |
93% { background-color: hsl(334.8, 50%, 50%); } | |
93.5% { background-color: hsl(336.6, 50%, 50%); } | |
94% { background-color: hsl(338.4, 50%, 50%); } | |
94.5% { background-color: hsl(340.2, 50%, 50%); } | |
95% { background-color: hsl(342, 50%, 50%); } | |
95.5% { background-color: hsl(343.8, 50%, 50%); } | |
96% { background-color: hsl(345.6, 50%, 50%); } | |
96.5% { background-color: hsl(347.4, 50%, 50%); } | |
97% { background-color: hsl(349.2, 50%, 50%); } | |
97.5% { background-color: hsl(351, 50%, 50%); } | |
98% { background-color: hsl(352.8, 50%, 50%); } | |
98.5% { background-color: hsl(354.6, 50%, 50%); } | |
99% { background-color: hsl(356.4, 50%, 50%); } | |
99.5% { background-color: hsl(358.2, 50%, 50%); } | |
100% { background-color: hsl(360, 50%, 50%); } | |
} | |
.rainbow-background { | |
animation: rainbow-background 5s infinite; | |
} | |
</style> | |
<!-- Alternative to CSS animation using pure JavaScript. | |
<script> | |
let current = 0.0; | |
setInterval(function() { | |
document.body.style.backgroundColor = "hsl(" + current + ", 50%, 50%)"; | |
if(current >= 360.0) { | |
current = 0.0; | |
} else { | |
current += 0.5; | |
} | |
}, 5); | |
</script> | |
--> | |
<!-- Generates hue list. Tabs look great in the browser console, but misalign when copied as text. | |
for(let i = 0.0; i <= 100.0; i += 0.5) { | |
console.log(i + "%\t\t{ background-color: hsl(" + (i * 3.6) + ", 50%, 50%); }"); | |
} | |
--> | |
</head> | |
<body class="rainbow-background"> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment