Tab

Create a tabbed navigation with different styles.

Usage

The Tab component consists of clickable tabs, that are aligned side by side.

Class Description
.uk-tab Add this class to a <ul> element to define the Tab component. Use <a> elements as tab items within the list.
.uk-active Add this class to a list item to apply an active state.
.uk-disabled Add this class to a list item to apply a disabled state.

The data-uk-tab attribute is required for two purposes. Firstly, it enables the responsive behaviour. If the parent container is too small to accomodate all tabs, they will be combined into a dropdown, toggled by a single tab, which represents the active tab item. This also requires the Dropdown component in order to work.

And secondly, its functionality is coupled to the Switcher component, which is necessary to dynamically transition through different contents using tabbed navigation.

Example

Markup

<ul class="uk-tab" data-uk-tab>
    <li class="uk-active"><a href="">...</a></li>
    <li><a href="">...</a></li>
    <li><a href="">...</a></li>
    <li class="uk-disabled"><a href="">...</a></li>
</ul>

Horizontal modifiers

Add one of the following classes to alter your tabs' styling. These modifiers can also be combined.

Align tabs

Class Description
.uk-tab-flip Add this class to align tabs right and in reversed order.
.uk-tab-bottom Add this class to the <ul> to place tabs at the bottom. This can also be combined with the other modifiers.

Example

Markup

<ul class="uk-tab uk-tab-flip" data-uk-tab>...</ul>
<ul class="uk-tab uk-tab-bottom" data-uk-tab>...</ul>

Justify tabs

Add the .uk-tab-grid class and one of the .uk-width-* classes from the Grid component to the list items to arrange tabs in a grid that takes up full width of its parent element.

Example

Markup

<ul class="uk-tab uk-tab-grid uk-tab-bottom" data-uk-tab>
    <li class="uk-width-1-3"><a href="">...</a></li>
</ul>

Center tabs

Add the .uk-tab-center class to a <div> element around the tabbed navigation to center tabs. If you are using the bottom modifier on the tabs, also add the .uk-tab-center-bottom class to the surrounding <div> element to adjust the border.

Example

Markup

<div class="uk-tab-center">
    <ul class="uk-tab" data-uk-tab>...</ul>
</div>

Vertical modifiers

Add the .uk-tab-left or .uk-tab-right class to align tabs vertically to the left or right side.

Example

Markup

<ul class="uk-tab uk-tab-left uk-width-medium-1-2">
    <li>...</li>
</ul>
<ul class="uk-tab uk-tab-right uk-width-medium-1-2">
    <li>...</li>
</ul>

Responsive behavior

In narrower viewports, like phones, vertical tabs align themselves horizontally. Adding the data-uk-tab attribute will apply the same responsive behavior as horizontal tabs.


Tabs with dropdowns

This is an example of how to use tabs with the Dropdown component.

Example

Markup

<ul class="uk-tab">
    <li><a href="">...</a></li>

    <!-- This is the container enabling the JavaScript -->
    <li data-uk-dropdown="{mode:'click'}">

        <!-- This is the menu item toggling the dropdown -->
        <a href="">...</a>

        <!-- This is the dropdown -->
        <div class="uk-dropdown uk-dropdown-small">
            <ul class="uk-nav uk-nav-dropdown">
                <li><a href="">...</a></li>
            </ul>
        </div>
    </li>
</ul>

Events

You can bind callbacks to following events for custom functionality:

Name Parameters Description
change.uk.tab event, active item, previous item On tab item change