This page demonstrates how to manipulate CSS custom property values using JavaScript.
Try moving the mouse around.
:root { --foreground-color: hsl(100,50%,50%); --background-color: hsl(300,50%,50%); } html { color: var(--foreground-color); background-color: var(--background-color); }
let root = document.documentElement; root.addEventListener("mousemove", event => { let foregroundHue = event.clientX % 400; let lightness = (event.clientY/4) % 100; let backgroundHue = ((event.clientX/4) + 200) % 400; root.style.setProperty('--foreground-color', `hsl(${foregroundHue}, 100%, ${lightness}%`); root.style.setProperty('--background-color', `hsl(${backgroundHue}, 100%, ${lightness/2}%`); });