Users can adjust the width of side-by-side divs by dragging them
P粉690200856
2023-08-28 17:28:25
<p>I have two divs side by side. If there is any simple solution, allow the user to resize the width of both divs by dragging. </p>
<p>If the width of one div increases, the width of the other div decreases, keeping the sum of the widths of the two divs unchanged. </p>
<p>It would be great if it could be implemented using pure javascript or css. Feel free to add any other items like divs. </p>
<p>The codes for the two divs are as follows: </p>
<pre class="brush:php;toolbar:false;">.left {
float: left;
width: 49%;
min-height: 50px;
border: 2px dashed #f0f
}
.right {
float: right;
width: 49%;
min-height: 50px;
border: 2px dashed #00f
}</pre>
<pre class="brush:php;toolbar:false;"><div class="right"></div>
<div class="left"></div></pre>
<p>Thanks for any ideas! </p>
Out of curiosity, I created a little experiment and discovered using a main flexbox container
.wrapper
to contain.left
and.right
elements and make the hard work of Flexbox Mechanism easier to implement.Two things:
resize
, the propertyoverflow
needs to be set toauto
to make the handle visible (in Windows Firefox and Chrome/Edge The above test passed)..left
. Because they are children of the flexbox, when usingflex: 1
(.right
) on another element, the flexbox mechanism will make that element Follows the size of the resized element and fills any remaining space.MDN Reference: resize