JSFiddle - React, Tailwind, and code Playground
by Divz
HTML
<div class="row">
<div class="inner-contents">
<div class="cover">
<div class="widgets-panel">
<div class="panel-heading">
<div class="panel-title">
site status
</div>
<div class="panel-options">
<ul class="tabs">
<li class="active">
<a class="tog" data-toggle="tab" href="#line-chart">Line Chart</a>
</li>
<li>
<a class="tog" data-toggle="tab" href="#piechart">Pie Chart</a>
</li>
<li>
<a class="tog" data-toggle="tab" href="#graph">Graph</a>
</li>
</ul>
</div>
</div>
<div class="panel-body">
<div class="tab-content">
<div id="line-chart" class="tab-pane active">
line-chart
</div>
<div id="piechart" class="tab-pane">
piechart
</div>
<div id="graph" class="tab-pane">
graph
</div>
</div>
</div>
</div>
</div>
</div>
</div>
CSS
.row{
width:90%;
margin:auto;
}
ul.tabs {
list-style: none;
padding-top: 5px;
position: relative;
top: 1px;
overflow: hidden;
margin:0px;
}
ul.tabs li {
display: inline-block;
margin-bottom: -1px;
margin-right: 4px;
background-color: rgba(0, 0, 0, 0);
position: relative;
z-index: 2;
}
ul.tabs li a {
display: block;
background-clip: padding-box;
background-color: #EBEBEB;
border: 1px solid #EBEBEB;
border-radius: 3px 3px 0 0;
color: rgba(55, 62, 74, 0.5);
font-size: 12px;
line-height: 1.42857;
padding: 8px 10px;
transition: all 300ms ease-in-out 0s;
}
ul.tabs li:last-child {
margin-right: 0px;
}
ul.tabs li.active a {
color: #000;
border-bottom: 1px solid #fff;
background-color: #fff;
}
.tab-content {
position: relative;
width: 100%;
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.widgets-panel {
width: 100%;
position: relative;
z-index: 1;
background-clip: padding-box;
}
.widgets-panel > .panel-heading {
border-radius: 3px 3PX 0 0;
border: 1px solid #EBEBEB;
}
.widgets-panel > .panel-heading:after {
display: table;
content: "";
clear: both;
}
.widgets-panel > .panel-heading .panel-title {
float: left;
padding: 10px 15px;
}
.widgets-panel > .panel-heading .panel-title:after {
clear: left;
}
.widgets-panel > .panel-heading .panel-options {
float: right;
padding-right: 15px;
}
.widgets-panel > .panel-heading .panel-options:after {
clear: right;
}
.widgets-panel > .panel-body {
padding: 15px;
position: relative;
border: 1px solid #EBEBEB;
border-top: none;
transition: height 0.5s;
-webkit-transition: height 0.5s;
-moz-transition: height 0.5s;
}
JavaScript
$(document).on('click','.tog',function(){
var toggle = $(this).attr('href');
$(this).closest('.tabs').find('li').removeClass('active');
$(toggle).closest('.tab-content').find('div').removeClass('active');
$(toggle).addClass('active');
$(this).parent().addClass('active');
});