Классические табы
для работы
by Denis Tverdokhlebov
HTML
<div class="tabs">
<ul class="tabs__caption">
<li class="active">Структура активов</li>
<li>Открытые позиции</li>
<li>Динамика портфеля</li>
</ul>
<div class="tabs__content active">
<p>1</p>
</div>
<div class="tabs__content">
<p>2</p>
</div>
<div class="tabs__content">
<p>3</p>
</div>
</div><!-- .tabs -->
CSS
* {
margin: 0;
padding: 0;
}
body {
margin: 30px;
font: 13px/1.4 Arial, sans-serif;
}
a {
color: #0094D6;
}
a:hover {
text-decoration: none;
}
p {
padding: 7px 0;
}
h1 {
font-size: 21px;
font-weight: normal;
margin: 0 0 30px;
}
h2 {
font-size: 16px;
font-weight: normal;
margin: 0 0 25px;
}
body {
background: #ececec;
}
.text {
max-width: 700px;
margin: 0 0 30px;
background: #FFF;
border: 2px solid #7DCA86;
border-radius: 5px;
padding: 7px 15px;
box-sizing: border-box;
}
.tabs__caption {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
list-style: none;
position: relative;
border-bottom: 1px solid #ececec;
background-color: #ffffff;
}
.tabs__caption li:last-child:before {
content: '';
position: absolute;
bottom: -5px;
left: 0;
right: -2px;
z-index: -1;
height: 5px;
background: #7DCA86;
}
.tabs__caption:after {
content: '';
display: table;
clear: both;
}
.tabs__caption li {
padding: 9px 15px;
background: #ffffff;
color: #b4b5b8;
position: relative;
text-align: center;
}
.tabs__caption li:not(.active) {
cursor: pointer;
}
.tabs__caption .active {
background: #FFF;
color: #f00540;
}
.tabs__content {
display: none;
background: #ffffff;
padding: 7px 15px;
}
.tabs__content.active {
display: block;
}
.vertical .tabs__caption {
float: left;
display: block;
}
.vertical .tabs__caption li {
float: none;
border-width: 2px 0 2px 2px;
border-radius: 5px 0 0 5px;
}
.vertical .tabs__caption li:last-child:before {
display: none;
}
.vertical .tabs__caption .active:after {
left: auto;
top: 0;
right: -2px;
bottom: 0;
width: 2px;
height: auto;
}
.vertical .tabs__content {
overflow: hidden;
}
@media screen and (max-width: 650px) {
.tabs__caption li {
-webkit-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
}
.vertical .tabs__caption {
...
JavaScript
(function($) {
$(function() {
$('ul.tabs__caption').on('click', 'li:not(.active)', function() {
$(this)
.addClass('active').siblings().removeClass('active')
.closest('div.tabs').find('div.tabs__content').removeClass('active').eq($(this).index()).addClass('active');
});
});
})(jQuery);