<pre>
:root {
--pagebackground: <span>powderblue</span>;
}
body {
background: var(--pagebackground);
}
</pre>
<ul>
<li>
Set the property to 'firebrick': <button
onclick="setBG('firebrick')">document.documentElement.style.setProperty('--pagebackground', 'firebrick');</button>
</li>
<li>Set the property to 'powderblue': <button
onclick="setBG('powderblue')">document.documentElement.style.setProperty('--pagebackground', 'powderblue');</button>
</li>
<li>
Set the property to 'rgb(20,45,200)': <button
onclick="setBG('rgb(20,45,200)')">document.documentElement.style.setProperty('--pagebackground', 'rgb(20,45,200)');</button>
</li><li>Read property:
<button onclick="getCSSprop('--pagebackground')">getComputedStyle(document.documentElement).
getPropertyValue('--pagebackground');</button><span></span>
</li></ul>
:root {
--pagebackground: powderblue;
}
body {
background: var(--pagebackground);
font-family: arial, helvetica, sans-serif;
}
pre {
color: #fff;
background: #111;
padding: 5px;
line-height: 1.3;
}
button {
margin: 0 .5em;
display: inline-block;
}
function setBG(col) {
let ex = document.querySelector('span');
let root = document.documentElement;
root.style.setProperty('--pagebackground', col);
ex.innerText = col;
}
function getCSSprop(prop) {
let ex = document.querySelector('span:nth-child(2)');
ex.innerText = getComputedStyle(document.documentElement).
getPropertyValue(prop);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.