Показать сообщение отдельно
  #7 (permalink)  
Старый 04.03.2021, 17:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от 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>
Ответить с цитированием