Сообщение от LADYX
|
то есть всегда оставался квадратом, при этом в пределах своего родительского элемента?
|
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style>
#parent {
width: 300px;
height: 300px;
padding: 10px;
border: 5px solid red;
display: flex;
justify-content: center;
flex-direction: column;
}
#children {
width: var(--size, 100%);
height: var(--size, 100%);
background: green;
margin: 0 auto;
}
</style>
<script>
function parentH() {
let height = document.querySelector('#parent_range_H').value;
let width = document.querySelector('#parent_range_W').value;
document.querySelector('#parent').style.height = height + 'px';
document.querySelector('#children').style.setProperty('--size', `${Math.min(height,width)}px`);
}
function parentW() {
let height = document.querySelector('#parent_range_H').value;
let width = document.querySelector('#parent_range_W').value;
document.querySelector('#parent').style.width = width + 'px';
document.querySelector('#children').style.setProperty('--size', `${Math.min(height,width)}px`);
}
</script>
</head>
<body>
<p>height: <input id="parent_range_H" type="range" min="10" max="300" value="300" step="1" name="parent_h" oninput="parentH()">
width: <input id="parent_range_W" type="range" min="10" max="300" value="300" step="1" name="parent_w" oninput="parentW()"></p>
<div id="parent">
<div id="children"></div>
</div>
</body>
</html>