JSFiddle - React, Tailwind, and code Playground

HTML

<ul>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li>
        <div class="box"></div>
    </li>
    <li class="clear"></li>
</ul>

CSS

ul {
    list-style: none;
    display: block;
}
ul li {
    display: item-list;
    position: relative;
    width: 130px;
    float: left;
    margin: 0 2% 24px;
}
ul li.clear {
    clear: both;
}
ul li .box {
    width: 130px;
    height: 200px;
    display: block;
    background-color: red;
}
ul li .container {
    display: block;
}
ul li .container .menu {
    position: absolute;
    width: 100%;
    left: 0;
    display:block;
}
ul li .container .menu .content {
    display: block;
    position: relative;
    width: 100%;
    background-color: blue;
}

JavaScript

$("li").click(function () {
    $('.container').remove();
    $(this).append("<div class='container'></div>");

    $(".container").html("<div class='menu'><div class='content'></div></div>");

    $(".content").animate({
        height: "100px"
    }, 1000);

});