Used to display multiple pieces of content in a single logical space. Tabs be setup as normal links that cause a new page load or as javascript links that show/hide content already loaded in the page. Use the `vertical` class to lay the tabs out vertically. Use the `mini` class to display a mini-tab switcher -- this is often used switch between list and grid view.
The CSS that creates the tabbed look, and the javascript that handles hiding/showing the tabbed content are distinct. You can have tab-like behavior of showing/hiding content without displaying actual tabs to toggle them.
Use the data-persist attribute to save tab choices in a cookie.
When users reload the page they will see their last selected tab. Set the
value of the attribute to be the name of the cookie to store.
<nav class="tabs">
<a class="active" href="#tab1">Tab One</a>
<a href="#tab2">Tab Two</a>
<a href="#tab3">Tab Three</a>
</nav>
<div id="tab1" class="tab active">
Tab One Content...
</div>
<div id="tab2" class="tab">
Tab Two Content...
</div>
<div id="tab3" class="tab">
Tab Three Content...
</div>
<div class="verticalTabContainer">
<nav class="tabs vertical" data-persist="styleguide-persistent-tabs">
<a class="active" href="#verticaltab1">Tab One</a>
<a href="#verticaltab2">Tab Two</a>
<a href="#verticaltab3">Tab Three</a>
</nav>
<div class="verticalTabContainer-content">
<div id="verticaltab1" class="tab active">
Tab One Content...
</div>
<div id="verticaltab2" class="tab">
Tab Two Content...
</div>
<div id="verticaltab3" class="tab">
Tab Three Content...
</div>
</div>
</div>
<nav class="tabs">
{% for i in "0123456789abc" %}
<a{% if forloop.first %} class="active"{% endif %} href="#overflow-tab{{ i }}">Tab #{{ i }}</a>
{% endfor %}
</nav>
{% for i in "0123456789abc" %}
<div id="overflow-tab{{ i }}" class="tab{% if forloop.first %} active{% endif %}">
Tab {{ i }} Content...
</div>
{% endfor %}
<a class="button plum tabSwitcher" href="#buttontab1">Tab One</a>
<a class="button cta tabSwitcher" href="#buttontab2">Tab Two</a>
<a class="button cta-reverse tabSwitcher" href="#buttontab3">Tab Three</a>
<div class="content">
<div id="buttontab1" class="tab active">
Tab One Content...
</div>
<div id="buttontab2" class="tab">
Tab Two Content...
</div>
<div id="buttontab3" class="tab">
Tab Three Content...
</div>
</div>
<nav class="tabs mini">
<a class="active" data-target="#minitab1"><span class="fas fa-list"></span></a>
<a data-target="#minitab2"><span class="fas fa-th-large"></span></a>
</nav>
<div id="minitab1" class="tab active">
Tab One Content...
</div>
<div id="minitab2" class="tab">
Tab Two Content...
</div>
Below are old-style tabs that leverage the bootstrap JS to switch tabs. Please use the classes above for new code.
<ul class="nav nav-tabs">
<li class="active"><a href="#tab_11" data-toggle="tab">Tab One</a></li>
<li><a href="#tab_12" data-toggle="tab">Tab Two</a></li>
<li><a href="#tab_13" data-toggle="tab">Tab Three</a></li>
</ul>
<div class="tab-content">
<div id="tab_11" class="tab-pane active">
Tab One Content...
</div>
<div id="tab_12" class="tab-pane">
Tab Two Content...
</div>
<div id="tab_13" class="tab-pane">
Tab Three Content...
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">
<ul class="nav nav-tabs vertical persistentTabs" data-persistent-tab-cookie="styleguide-tabs">
<li class="active"><a class="persistentTab" href="#tab_21" data-toggle="tab">Tab One</a></li>
<li><a class="persistentTab" href="#tab_22" data-toggle="tab">Tab Two</a></li>
<li><a class="persistentTab" href="#tab_23" data-toggle="tab">Tab Three</a></li>
</ul>
</div>
<div class="col-xs-12 col-sm-8 tab-content">
<div id="tab_21" class="tab-pane active">
Tab One Content...
</div>
<div id="tab_22" class="tab-pane">
Tab Two Content...
</div>
<div id="tab_23" class="tab-pane">
Tab Three Content...
</div>
</div>
</div>
<a class="button plum" href="#tab_31" data-toggle="tab">Tab One</a>
<a class="button cta" href="#tab_32" data-toggle="tab">Tab One</a>
<a class="button reversed" href="#tab_33" data-toggle="tab">Tab One</a>
<div class="tab-content">
<div id="tab_31" class="tab-pane active">
Tab One Content...
</div>
<div id="tab_32" class="tab-pane">
Tab Two Content...
</div>
<div id="tab_33" class="tab-pane">
Tab Three Content...
</div>
</div>