The scale CSS property accepts 1-3 values, each specifying a scale along one axis, in the order X, Y, and Z.
object.style.scale = "value"; <'scale'> = none | <number>{1,3} <number> An integer or zero or more decimal digits followed by a dot (.) followed by one or more decimal digits. The first character may be preceded by a sign (- or +). The last character may be succeeded by an exponent (e or E) and an integer.
<!doctype html>
<html>
<head>
<style>
.cube
{
height: 100px;
margin: 100px;
perspective: 100px;
transform-style: preserve-3d;
width: 100px;
}
.side
{
color: white;
font-family: sans-serif;
font-size: 50px;
height: 100px;
line-height: 100px;
position: absolute;
text-align: center;
width: 100px;
}
.side1
{
background-color: rgb(255 0 0 / 0.5);
rotate: y -90deg;
translate: -50px;
}
.side2
{
background-color: rgb(255 255 0 / 0.5);
rotate: y 90deg;
translate: 50px;
}
.side3
{
background-color: rgb(0 255 0 / 0.5);
rotate: x 90deg;
translate: 0 -50px;
}
.side4
{
background-color: rgb(0 255 255 / 0.5);
rotate: x -90deg;
translate: 0 50px;
}
.side5
{
background-color: rgb(0 0 255 / 0.5);
rotate: y 180deg;
translate: 0 0 -50px;
}
.side6
{
background-color: rgb(255 0 255 / 0.5);
scale: 1.5 0.5 1;
translate: 0 0 50px;
}
</style>
</head>
<body>
<p>number</p>
<div class="cube">
<div class="side side1">1</div>
<div class="side side2">2</div>
<div class="side side3">3</div>
<div class="side side4">4</div>
<div class="side side5">5</div>
<div class="side side6">6</div>
</div>
</body>
</html>
<!doctype html>
<html>
<head>
<style>
.cube
{
height: 100px;
margin: 100px;
perspective: 100px;
transform-style: preserve-3d;
width: 100px;
}
.side
{
color: white;
font-family: sans-serif;
font-size: 50px;
height: 100px;
line-height: 100px;
position: absolute;
text-align: center;
width: 100px;
}
.side1
{
background-color: rgb(255 0 0 / 0.5);
rotate: y -90deg;
translate: -50px;
}
.side2
{
background-color: rgb(255 255 0 / 0.5);
rotate: y 90deg;
translate: 50px;
}
.side3
{
background-color: rgb(0 255 0 / 0.5);
rotate: x 90deg;
translate: 0 -50px;
}
.side4
{
background-color: rgb(0 255 255 / 0.5);
rotate: x -90deg;
translate: 0 50px;
}
.side5
{
background-color: rgb(0 0 255 / 0.5);
rotate: y 180deg;
translate: 0 0 -50px;
}
.side6
{
background-color: rgb(255 0 255 / 0.5);
translate: 0 0 50px;
}
</style>
</head>
<body>
<button>initial</button>
<button>none</button>
<button value="1.5 0.5 1">number</button>
<p>scale</p>
<div class="cube">
<div class="side side1">1</div>
<div class="side side2">2</div>
<div class="side side3">3</div>
<div class="side side4">4</div>
<div class="side side5">5</div>
<div class="side side6">6</div>
</div>
<script>
function myfunction(myparameter)
{
document.querySelector(".side6").style.scale = myparameter;
}
const myelements = document.querySelectorAll("button");
for(const myelement of myelements)
{
const myargument = myelement.value || myelement.innerHTML;
myelement.addEventListener("mouseover", function(){myfunction(myargument)});
}
</script>
</body>
</html>