Navs Tabs.
Documentation and examples for how to use Bootstrap’s included navigation components. Click here
Tabs
Takes the basic nav from above and adds the .nav-tabs
class to generate a tabbed interface.
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home-tab-pane" type="button" role="tab" aria-controls="home-tab-pane" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile-tab-pane" type="button" role="tab" aria-controls="profile-tab-pane" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact-tab-pane" type="button" role="tab" aria-controls="contact-tab-pane" aria-selected="false">Contact</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="disabled-tab" data-bs-toggle="tab" data-bs-target="#disabled-tab-pane" type="button" role="tab" aria-controls="disabled-tab-pane" aria-selected="false" disabled>Disabled</button>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home-tab-pane" role="tabpanel" aria-labelledby="home-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="profile-tab-pane" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="contact-tab-pane" role="tabpanel" aria-labelledby="contact-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="disabled-tab-pane" role="tabpanel" aria-labelledby="disabled-tab" tabindex="0">...</div>
</div>
Pills
Take that same HTML, but use .nav-pills
instead
<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="pills-home-tab" data-bs-toggle="pill" data-bs-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-profile-tab" data-bs-toggle="pill" data-bs-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-contact-tab" data-bs-toggle="pill" data-bs-target="#pills-contact" type="button" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-disabled-tab" data-bs-toggle="pill" data-bs-target="#pills-disabled" type="button" role="tab" aria-controls="pills-disabled" aria-selected="false" disabled>Disabled</button>
</li>
</ul>
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="pills-disabled" role="tabpanel" aria-labelledby="pills-disabled-tab" tabindex="0">...</div>
</div>
Vertical
Stack your navigation by changing the flex item direction with the .flex-column
utility. Need to stack them on some viewports but not others? Use the responsive versions (e.g., .flex-sm-column
).
<div class="nav flex-column nav-pills me-3" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<button class="nav-link active" id="v-pills-home-tab" data-bs-toggle="pill" data-bs-target="#v-pills-home" type="button" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</button>
<button class="nav-link" id="v-pills-profile-tab" data-bs-toggle="pill" data-bs-target="#v-pills-profile" type="button" role="tab" aria-controls="v-pills-profile" aria-selected="false">Profile</button>
<button class="nav-link" id="v-pills-disabled-tab" data-bs-toggle="pill" data-bs-target="#v-pills-disabled" type="button" role="tab" aria-controls="v-pills-disabled" aria-selected="false" disabled>Disabled</button>
<button class="nav-link" id="v-pills-messages-tab" data-bs-toggle="pill" data-bs-target="#v-pills-messages" type="button" role="tab" aria-controls="v-pills-messages" aria-selected="false">Messages</button>
<button class="nav-link" id="v-pills-settings-tab" data-bs-toggle="pill" data-bs-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</button>
</div>
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="v-pills-disabled" role="tabpanel" aria-labelledby="v-pills-disabled-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab" tabindex="0">...</div>
</div>
Underline
Take that same HTML, but use .nav-underline
instead
<ul class="nav nav-underline" id="nav-tab" role="tablist">
<li class="nav-item">
<button class="nav-link active" id="underline-home-tab" data-bs-toggle="tab" data-bs-target="#underline-home" type="button" role="tab" aria-controls="underline-home" aria-selected="true">Home</button>
</li>
<li class="nav-item">
<button class="nav-link" id="underline-profile-tab" data-bs-toggle="tab" data-bs-target="#underline-profile" type="button" role="tab" aria-controls="underline-profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item">
<button class="nav-link" id="underline-contact-tab" data-bs-toggle="tab" data-bs-target="#underline-contact" type="button" role="tab" aria-controls="underline-contact" aria-selected="false">Contact</button>
</li>
<li class="nav-item">
<button class="nav-link" id="underline-disabled-tab" data-bs-toggle="tab" data-bs-target="#underline-disabled" type="button" role="tab" aria-controls="underline-disabled" aria-selected="false" disabled>Disabled</button>
</li>
</ul>
<div class="tab-content" id="underline-tabContent">
<div class="tab-pane fade show active" id="underline-home" role="tabpanel" aria-labelledby="underline-home-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="underline-profile" role="tabpanel" aria-labelledby="underline-profile-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="underline-disabled" role="tabpanel" aria-labelledby="underline-disabled-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="underline-messages" role="tabpanel" aria-labelledby="underline-messages-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="underline-settings" role="tabpanel" aria-labelledby="underline-settings-tab" tabindex="0">...</div>
</div>
Fill and justify
Use .nav-fill
in Bootstrap to make .nav-item
elements proportionately fill horizontal space with varying widths.
<ul class="nav nav-pills nav-fill mb-3" id="justify-tab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="justify-home-tab" data-bs-toggle="pill" data-bs-target="#justify-home" type="button" role="tab" aria-controls="justify-home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="justify-profile-tab" data-bs-toggle="pill" data-bs-target="#justify-profile" type="button" role="tab" aria-controls="justify-profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="justify-contact-tab" data-bs-toggle="pill" data-bs-target="#justify-contact" type="button" role="tab" aria-controls="justify-contact" aria-selected="false">Contact</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="justify-disabled-tab" data-bs-toggle="pill" data-bs-target="#justify-disabled" type="button" role="tab" aria-controls="justify-disabled" aria-selected="false" disabled>Disabled</button>
</li>
</ul>
<div class="tab-content" id="justify-tabContent">
<div class="tab-pane fade show active" id="justify-home" role="tabpanel" aria-labelledby="justify-home-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="justify-profile" role="tabpanel" aria-labelledby="justify-profile-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="justify-contact" role="tabpanel" aria-labelledby="justify-contact-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="justify-disabled" role="tabpanel" aria-labelledby="justify-disabled-tab" tabindex="0">...</div>
</div>
Card Header Tabs
Card header tabs with .nav-underline
and .nav-pills
Special title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhereSpecial title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhereSpecial title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhereSpecial title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhere
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item"><a class="nav-link active" aria-current="true" href="javascript:void(0);">Active</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
</ul>
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="javascript:void(0);" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-underline card-header-tabs">
<li class="nav-item"><a class="nav-link active" aria-current="true" href="javascript:void(0);">Active</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
</ul>
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="javascript:void(0);" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-pills card-header-tabs">
<li class="nav-item"><a class="nav-link active" aria-current="true" href="javascript:void(0);">Active</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
</ul>
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="javascript:void(0);" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-pills nav-pills-bg nav-pills-sm card-header-tabs">
<li class="nav-item"><a class="nav-link active" aria-current="true" href="javascript:void(0);">Active</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
</ul>
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="javascript:void(0);" class="btn btn-primary">Go somewhere</a>
</div>
</div>
Tabs Standard
use the .nav-tabs-standard
for Standard tabs.
<ul class="nav nav-tabs-standard">
<li class="nav-item"><a class="nav-link active" aria-current="true" href="javascript:void(0);">Active</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link 2</a></li>
<li class="nav-item"><a class="nav-link" href="javascript:void(0);">Link 3</a></li>
<li class="nav-item"><a class="nav-link disabled" aria-disabled="true">Disabled</a></li>
</ul>