Responsive tabs/accordion
by Ketan Patel
HTML
<div class="mainTabsBody">
<div class="tabsContainer">
<ul class="tabs">
<li class="active" rel="tab1">
<h3>[H] Tab 1. Important</h3></li>
<li rel="tab2">
<h3>[X] Tab 2</h3></li>
<li rel="tab3">
<h3>[M] Tab 3</h3></li>
<li rel="tab4">
<h3>[R] Tab 4</h3></li>
</ul>
</div>
<div class="tab_container">
<div id="tab1" class="tab_content">
<h2>Tab 1 content</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac metus augue.</p>
</div>
<!-- #tab1 -->
<div id="tab2" class="tab_content">
<h2>Tab 2 content</h2>
<p>Nunc dui velit, scelerisque eu placerat volutpat, dapibus eu nisi. Vivamus eleifend vestibulum odio non vulputate.</p>
</div>
<!-- #tab2 -->
<div id="tab3" class="tab_content">
<h2>Tab 3 content</h2>
<p>Nulla eleifend felis vitae velit tristique imperdiet. Etiam nec imperdiet elit. Pellentesque sem lorem, scelerisque sed facilisis sed, vestibulum sit amet eros.</p>
</div>
<!-- #tab3 -->
<div id="tab4" class="tab_content">
<h2>Tab 4 content</h2>
<p>Integer ultrices lacus sit amet lorem viverra consequat. Vivamus lacinia interdum sapien non faucibus. Maecenas bibendum, lectus at ultrices viverra, elit magna egestas magna, a adipiscing mauris justo nec eros.</p>
</div>
<!-- #tab4 -->
</div>
</div>
CSS
/**/
.tabsContainer {
display: table;
width: 100%;
}
.mainTabsBody {
//border: 1px solid red;
}
ul.tabs {
margin: 0;
padding: 0;
//float: left;
list-style: none;
//height: 32px;
//border-bottom: 1px solid #333;
//width: 100%;
display: table-row;
text-align: center
}
ul.tabs li {
//float: left;
//margin: 0;
cursor: pointer;
padding: 0px 21px;
//height: 31px;
//line-height: 31px;
/*
border-top: 1px solid #333;
border-left: 1px solid #333;
border-bottom: 1px solid #333;
*/
background-color: #666;
color: #ccc;
//overflow: hidden;
//position: relative;
display: table-cell;
}
.tab_last {
//border-right: 1px solid #333;
}
ul.tabs li:hover {
background-color: #ccc;
color: #333;
}
ul.tabs li.active {
background-color: #fff;
color: #333;
//border-bottom: 1px solid #fff;
//display: block;
}
.tab_container {
//border: 1px solid #333;
//border-top: none;
clear: both;
//float: left;
//width: 100%;
//background: #fff;
overflow: auto;
//border: 1px solid red;
//border-top:0
}
.tab_content {
padding: 20px;
display: none;
background-color: white;
}
.tab_drawer_heading {
display: none;
}
@media screen and (max-width: 600px) {
.tabsContainer {
display: none;
}
.tab_drawer_heading {
background-color: #ccc;
color: #000;
//border-top: 1px solid #333;
margin: 0;
padding: 5px 20px;
display: block;
cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.tab_drawer_heading:hover {
background-color: #ccc;
color: #333;
}
.d_active {
background-color: #666;
color: #fff;
}
}
JavaScript
// tabbed content
// http://www.entheosweb.com/tutorials/css/tabs.asp
$(".tab_content").hide();
$(".tab_content:first").show();
/* if in tab mode */
$("ul.tabs li").click(function() {
$(".tab_content").hide();
var activeTab = $(this).attr("rel");
$("#" + activeTab).fadeIn();
/* $("ul.tabs li").removeClass("active");
$(this).addClass("active"); */
});