<!-- https://css-doodle.com -->
<css-doodle>
:container {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background:
linear-gradient(
@rand(1, 360)deg,
rgb(@rand(1, 150), @rand(150, 255), 0) 0%,
rgb(0, @rand(1, 150), @rand(150, 255)) 100%
),
linear-gradient(
@rand(1, 360)deg,
rgb(0, @rand(150, 255), @rand(1, 150)) 0%,
rgb(0, 0, 0) 100%),
linear-gradient(
@rand(1, 360)deg,
rgb(@rand(0, 255), @rand(0, 255), @rand(0, 255)) @rand(0, 70)%,
rgb(@rand(0, 255), 0, 151) 100%),
radial-gradient(
@rand(50, 100)% @rand(50, 100)% at @rand(0, 100)% @rand(0, 100)%,
rgb(@rand(0, 150), @rand(0, 150), @rand(0, 150)) 0%,
rgb(0, @rand(100, 200), @rand(200, 255)) 50%,
rgb(@rand(150, 255), @rand(150, 255), 0) 100%
),
radial-gradient(
@rand(100, 250)% @rand(100, 225)% at 0% 100%,
rgb(@rand(0, 255), @rand(0, 255), 0) 0%,
rgb(@rand(0, 50), @rand(150, 255), @rand(0, 150)) 100%
),
radial-gradient(
@rand(100, 250)% @rand(100, 225)% at @rand(0, 150)% @rand(0, 225)%,
rgb(@rand(0, 50), @rand(50, 150), 62) 0%,
rgb(@rand(0, 50), @rand(50, 150), 255) @rand(0, 100)%,
rgb(@rand(0, 50), @rand(50, 150), 186) 100%
);
background-blend-mode:
@pick(color-dodge, overlay, difference, difference, normal, exclusion, lighten),
@pick(color-dodge, overlay, difference, difference, normal, exclusion, lighten),
@pick(color-dodge, overlay, difference, difference, normal, exclusion, lighten),
@pick(color-dodge, overlay, difference, difference, normal, exclusion, lighten),
@pick(color-dodge, overlay, difference, difference, normal, exclusion, lighten),
@pick(color-dodge, overlay, difference, difference, normal, exclusion, lighten);
<!-- background-blend-mode: lighten, color-dodge, multiply, difference, difference, normal; -->
}
</css-doodle>
xxxxxxxxxx
html,
body {
// position: relative;
margin: 0;
height: 100%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
body::after {
position: absolute;
content: "Click";
font-size: 10vmin;
color: #fff;
mix-blend-mode: difference;
}
xxxxxxxxxx
document.addEventListener('click', function(e) {
e.target.update && e.target.update();
});
This Pen doesn't use any external CSS resources.