JSFiddle - React, Tailwind, and code Playground

by gmcalab

HTML

<div style="margin: 10px 0">
    <input type="button" value="Collapse" id="toggle"/>
</div>
<div class="container">
    
    <div class="row">
        <div style="color: red">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
    </div>
    
    <div class="row">
        
        <div class="left">
            <div class="col"><span>caption 1</span></div>
            <div class="col two"><span><input type="text"/></span></div>
        </div>
        <div class="right">
            <div class="col fold p"><span>caption 3</span></div>
            <div class="colr fold p">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </div>
        </div>
    </div>
    
    
    <div class="row">
        
        <div class="left">
            <div class="col"><span style="color: purple">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </span></div>
            <div class="col two"><span><input type="text"/></span></div>
        </div>
        <div class="right">
            <div class="col fold p"><span>caption 7</span></div>
            <div class="colr fold p"><span><input type="text"/></span></div>
        </div>
    </div>
    <div class="row">
        <div style="color: green">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
    </div>
   ...

CSS

.col
{
    float: left;
    width: 25%;
    display: inline;
}

body{
    background-color: #0000ff;   
}

.colr
{
    float: right;
    width: 25%; 
    display: inline;
}

.right{
    float: right;
    width: 50%; 
    
}


.row{
    
    overflow: auto;
    width:100%;        /* Helps older versions of IE */
    
}
.p{
    position: relative; 
    width: 50%;  
}
.container{
    min-width: 600px;
    
    border: 1px solid #aaa;
    background-color:#fff;
}

.containerf{
    min-width: 300px;   
    
    
}

JavaScript

$('#toggle').click(function() {
    if ($(this).val() == "Collapse") {
        $(this).val("UnCollapse");
        $('div.col', '.left').addClass('p');
        $('.right').each(function() {
            var parent = $(this).closest('div.row');
            $('<div class="row u"><div>' + $(this).html() + '</div></div>').insertAfter(parent);
            $(this).hide();
            $('.container').addClass('containerf');
        });
    } else {
        $(this).val("Collapse");
        $('div.u').each(function() {
            var parent = $(this).prev();
            
            
            
            $('.right', parent).show();
            $('div.col', '.left').removeClass('p');
            $(this).remove();
            $('.container').removeClass('containerf');
        });
    }
});