xxxxxxxxxx
// this is for site-navigation with more sub ul-blocks.
// in css root{--ul-hover-height:100px} //fallbackvalue
// in css: nav ul ul:hover{height:--ul-hover-height;}
// to make it dynamic using JS:
// set variable ul ul height depending on nr. of li's:
function setUlHeight(elem){
parentHeight=window.getComputedStyle(elem.parentNode).height
parentHeight=parseInt(parentHeight)*1.2 //to cover li padding/margin..
elemHeight=parentHeight * elem.childElementCount
let root = document.documentElement;
root.style.setProperty('--ul-hover-height', elemHeight); }
xxxxxxxxxx
var root = document.querySelector(':root');
root.style.setProperty('--variable', 'lightblue');
/or/
root.style.setProperty('--variable', myColor);
xxxxxxxxxx
document.documentElement.style.setProperty("--main-background-color", "green");
xxxxxxxxxx
document.documentElement.style.cssText = "--tab-count: 3";
/or/
document.documentElement.style.setProperty("--tab-count", 5);
/or/
document.documentElement.setAttribute("style", "--tab-count: 5");
xxxxxxxxxx
document.documentElement.setAttribute("style", "--main-background-color: green");
xxxxxxxxxx
document.documentElement.style.setProperty("--main-background-color", "green");
xxxxxxxxxx
const docStyles = document.documentElement.style;
docStyles.setProperty('--accent', '#ffffff');
docStyles.setProperty('--textColor', '#ffffff');
xxxxxxxxxx
document.documentElement.style.cssText = "--main-background-color: red";
xxxxxxxxxx
const cssVar = ( name, value ) => {
if(name.substr(0, 2) !== "--") {
name = "--" + name;
}
if(value) {
document.documentElement.style.setProperty(name, value)
}
return getComputedStyle(document.documentElement).getPropertyValue(name);
}
xxxxxxxxxx
// this is for site-navigation with more sub ul-blocks.
// in css root{--ul-hover-height:100px} //fallbackvalue
// in css: nav ul ul:hover{height:--ul-hover-height;}
// to make it dynamic using JS:
// set variable ul ul height depending on nr. of li's:
function setUlHeight(elem){
parentHeight=window.getComputedStyle(elem.parentNode).height
parentHeight=parseInt(parentHeight)*1.2 //to cover li padding/margin..
elemHeight=parentHeight * elem.childElementCount