JSFiddle - React, Tailwind, and code Playground
by James Butler
HTML
<div class="wrap">
</div>
<div class="add">+</div>
CSS
html {
margin: 0;
padding: 0;
background: #222;
}
.wrap {
position: relative;
width: 100%;
height: 200px;
background: #222;
overflow: hidden;
}
.wrap div {
display: inline-block;
position: relative;
height: 100%;
width: 20%;
margin: 0%;
margin-left:0;
background: lightblue;
transition: all 0.6s;
line-height:200px;
text-align:center;
}
.wrap:before {
content:"";
position: absolute;
bottom: -25%;
left: 0;
height: 50%;
width: 100%;
border-radius: 50%;
background: #222;
z-index: 6;
}
div.withImage {
background: url(http://placekitten.com/g/300/300);
background-size: 100% 100%;
}
.wrap div:hover:before {
opacity: 1;
}
.wrap div:before {
content:"";
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: blue;
opacity: 0;
transition: all 0.6s;
}
.add {
position:absolute;
height:50px;
width:50px;
border-radius:50%;
background:tomato;
top:150px;
left:calc(50% - 25px);
z-index:8;
line-height:50px;
font-size:50px;
text-align:center;
cursor:pointer;
}
JavaScript
$(document).ready(function () {
$('.add').click(function () {
$('.wrap').append("<div>More</div>");
var len = $('.wrap').children().size();
var wid = 100 / len;
$('.wrap div').css("width", wid + "%");
});
});