Изменяемый размер div не реагирует на процентную высоту
У меня есть 2 divs внутри родителя, один имеет .resizable, однако я хочу, чтобы он имел максимальную высоту в процентах, я нашел код, который управляет изменением размера DOM, но я не могу заставить его работать для меня, я подобрался довольно близко.
Я хочу, чтобы изменяемый размер div имел максимальную высоту 70% и минимальную высоту 30% (исходная точка покоя)
Моя скрипка:
играть на скрипке[^]
HTML
Что я уже пробовал:
Моя скрипка:
играть на скрипке[^]
HTML
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css"> <link rel="stylesheet" href="/resources/demos/style.css"> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <body> <div class="wrapper"> <div class="div"> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> <h4>header</h4> </div> <div class="resizable" id="resizable">
JS
$("#resizable").resizable({ autoHide: true, handles: "n", resize: function( event, ui ) { var parent = ui.element.parent(); var height = ui.element.height(); // Get the min value of height or 70% of parent height height = Math.min(height, parent.height() * 0.7); // Get the max value of height or 30% of parent height height = Math.max(height, parent.height() * 0.3); ui.element.css({ height: height + 'px' }); } });
CSS
.wrapper { position: fixed; width: 100%; height: 100vh; } .div { position: absolute; left: 0px; top: 0px; right: 0px; width: 100%; height: 70%; background-color: #0098ff; } .resizable { position: absolute; left: 0px; right: 0px; bottom: 0px; width: 100%; height: 30%; background-color: red; }