Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
div:target {
display: block;
}
div[id*=tab]:target {
display: block;
}
div[id*=tab]:target ~ #three {
display: block;
}
div[id*=t]:target ~ #one {
display: none;
}
Вообще-то это прототип показывающий принципы работы, а вы при разработке больших проектов всегда напрямую копипастите в них код из публичных примеров?Стиль кода и аккуратность важны всегда, если только ты не объясняешь что-то на бумажке в баре.
если такое попадает в общий файл…
div[id*=t]:target
, буду рад, если кто объяснит мне это.div[id*=tab]:target
— без айди.Не будьте буратинами используя это везде подряд.
Вкладки можно реализовать на чистом CSS с помощью input:checked+div, тогда будет работать даже в ie7.Не будет, оба IE9+:
$('.tab').click(function(){ $('.tab').removeClass('tab-open'); $($(this).attr('href')).addClass('tab-open'); });
.tab { display: none; }
.tab-open { display: block; }
<a href="#tab-1">tab 1</a><a href="#tab-2">tab 2</a>
<div id="tab-1" class="tab"></div>
<div id="tab-1" class="tab"></div>
var tabs = document.querySelector( '.tab' ),
clickFn = function( e ){
tabs.forEach( function( el ){ el.className.replace( /^tab-open\s?|\s?tab-open$|\s?tab-open/g, '' ); });
this.className = this.className.split( ' ' ).concat( 'tab-open' ).join( ' ' );
e.preventDefault();
};
tabs.forEach( function( tab ){
tab.onclick = clickFn;
}
Вкладки (страницы) на одной странице на html/css с помощью :target