JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<div class="bars-wrapper">
<div class="bar-wrapper">
<div class="bar" style="width:20%"></div>
<div class="label"><i class="fa fa-bars"></i></div>
<div class="content"><span>20</span> Free Channels</div>
</div>
<div class="bar-wrapper">
<div class="bar" style="width:45%;"></div>
<div class="label"><i class="fa fa-bars"></i></div>
<div class="content"><span>45</span> Paid Channels</div>
</div>
<div class="bar-wrapper">
<div class="bar" style="width:80%;"></div>
<div class="label"><i class="fa fa-bars"></i></div>
<div class="content"><span>80</span> High-Definition Channels</div>
</div>
<div class="bar-wrapper">
<div class="bar" style="width:10%;"></div>
<div class="label"><i class="fa fa-bars"></i></div>
<div class="content"><span>10</span> Standard-Definition Channels</div>
</div>
<div class="hide">
<div class="bar-wrapper">
<div class="bar" style="width:36%;"></div>
<div class="label"><i class="fa fa-bars"></i></div>
<div class="content"><span>36</span> Radio Channels</div>
</div>
<div class="bar-wrapper">
<div class="bar" style="width: 90%;"></div>
<div class="label"><i class="fa fa-bars"></i></div>
<div class="content"><span>90</span> TV Channels</div>
</div>
</div>
</div>
<div class="stats-toggler">
See All
</div>
CSS
.bars-wrapper {
margin: 2.1em auto;
}
.bar-wrapper {
position: relative;
display: block;
max-width: 100%;
border: none;
margin: 1em 0em 2.5em 2.5em;
box-shadow: none;
background: rgba(0, 0, 0, 0.1);
padding: 0em;
border-radius: 0.28571429rem;
font-size: 0.85714286rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.bar-wrapper .bar {
display: block;
height: 0.5em;
line-height: 1;
position: relative;
width: 0%;
min-width: 0;
cursor: pointer;
background: #B377D9;
border-radius: 0.28571429rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.bar-wrapper:last-child {
margin-bottom: 1.5em;
}
.bar-wrapper .label {
position: absolute;
width: auto;
font-size: 1.3em;
/*top: 100%;*/
top: -0.2em;
right: auto;
left: -1.3em;
bottom: auto;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.bar-wrapper .label i {
display: block;
vertical-align: middle;
margin: 0 auto;
}
.bar-wrapper > .content {
opacity: 0;
margin: 0 auto;
font-weight: bold;
position: absolute;
top: 0em;
left: 0.5em;
width: auto;
font-size: 1em;
-webkit-transition: all 0.4s ease-in;
-moz-transition: all 0.4s ease-in;
-o-transition: all 0.4s ease-in;
transition: all 0.4s ease-in;
text-align: left;
}
.bar-wrapper > .content > span {
color: #B377D9;
}
.bar-wrapper:hover,
.bars-wrapper.expanded .bar-wrapper {
background: transparent;
}
.bar-wrapper:hover .bar,
.bars-wrapper.expanded .bar {
transform: scale(1.3);
opacity: 0;
}
.bar-wrapper:hover .label,
.bars-wrapper.expanded .label {
opacity: 0.1;
transform: scale(0.8);
}
.bar-wrapper:hover > .content,
.bars-wrapper.expanded .content {
transform:...
JavaScript
$(document).ready(function() {
$(".stats-toggler").click(function() {
$(".bars-wrapper").toggleClass("expanded")
});
});