Bird
Raised Fist0
Bootsrapmarkup~10 mins

Nav tabs and pills in Bootsrap - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a basic Bootstrap nav tab container.

Bootsrap
<ul class="nav [1]" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
</ul>
Drag options to blanks, or click blank then click option'
Anav-item
Bnav-pills
Cnavbar
Dnav-tabs
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'nav-pills' instead of 'nav-tabs' for tabs.
Forgetting to add the 'nav' class.
2fill in blank
medium

Complete the code to create a Bootstrap nav pill link that is active.

Bootsrap
<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link [1]" href="#">Active Pill</a>
  </li>
</ul>
Drag options to blanks, or click blank then click option'
Adisabled
Bactive
Cshow
Dfade
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'show' or 'fade' classes instead of 'active'.
Forgetting to add 'nav-link' class.
3fill in blank
hard

Fix the error in the tab content pane to show the active tab correctly.

Bootsrap
<div class="tab-content">
  <div class="tab-pane [1]" id="profile" role="tabpanel" aria-labelledby="profile-tab">Profile content here.</div>
</div>
Drag options to blanks, or click blank then click option'
Aactive show
Bfade
Cdisabled
Dnav-link
Attempts:
3 left
💡 Hint
Common Mistakes
Using only 'active' without 'show'.
Using 'fade' without 'show' for active pane.
4fill in blank
hard

Fill both blanks to create a nav tab link that toggles the correct tab pane.

Bootsrap
<ul class="nav nav-tabs" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="[1]-tab" data-bs-toggle="tab" data-bs-target="#[2]" type="button" role="tab" aria-controls="[2]" aria-selected="true">[2]</button>
  </li>
</ul>
Drag options to blanks, or click blank then click option'
Adashboard
Bsettings
Cprofile
Dhome
Attempts:
3 left
💡 Hint
Common Mistakes
Using different names for id and data-bs-target.
Forgetting to add 'data-bs-toggle="tab"'.
5fill in blank
hard

Fill all three blanks to create a nav pill with a disabled link and correct aria attributes.

Bootsrap
<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link [1]" href="#" tabindex="[2]" aria-disabled="[3]">Disabled Pill</a>
  </li>
</ul>
Drag options to blanks, or click blank then click option'
Adisabled
B-1
Ctrue
Dactive
Attempts:
3 left
💡 Hint
Common Mistakes
Not setting tabindex to '-1' for disabled links.
Forgetting aria-disabled attribute.

Practice

(1/5)
1. What is the main difference between nav-tabs and nav-pills in Bootstrap navigation?
easy
A. nav-tabs requires JavaScript, nav-pills does not.
B. nav-tabs shows tabs with borders, nav-pills shows rounded pill-shaped links.
C. nav-tabs is for vertical menus, nav-pills is for horizontal menus only.
D. nav-tabs disables links, nav-pills enables links.

Solution

  1. Step 1: Understand Bootstrap navigation styles

    nav-tabs creates a tab-like navigation with rectangular borders around each item.
  2. Step 2: Compare with nav-pills

    nav-pills styles navigation links as rounded pills, giving a softer look.
  3. Final Answer:

    nav-tabs shows tabs with borders, nav-pills shows rounded pill-shaped links. -> Option B
  4. Quick Check:

    Tabs = rectangular, Pills = rounded [OK]
Hint: Tabs have edges, pills are rounded shapes [OK]
Common Mistakes:
  • Thinking nav-tabs are vertical only
  • Believing nav-pills don't need JS
  • Confusing disabled/enabled states
2. Which of the following is the correct Bootstrap class to create a pill-style navigation list?
easy
A. <ul class='nav-tabs'>
B. <ul class='nav nav-tabs-pills'>
C. <ul class='nav nav-pills'>
D. <ul class='nav pills'>

Solution

  1. Step 1: Recall Bootstrap classes for pills

    The correct class for pill navigation is nav-pills combined with nav.
  2. Step 2: Check each option

    <ul class='nav nav-pills'> uses nav nav-pills, which is correct. Others have incorrect or non-existent classes.
  3. Final Answer:

    <ul class='nav nav-pills'> -> Option C
  4. Quick Check:

    Use nav nav-pills for pills [OK]
Hint: Use both 'nav' and 'nav-pills' classes together [OK]
Common Mistakes:
  • Using only 'pills' without 'nav'
  • Combining 'nav-tabs' and 'pills' incorrectly
  • Misspelling class names
3. Given this Bootstrap nav tab code snippet, what will be the visual result in the browser?
<ul class='nav nav-tabs' role='tablist'>
  <li class='nav-item'>
    <a class='nav-link active' href='#home' role='tab' aria-selected='true'>Home</a>
  </li>
  <li class='nav-item'>
    <a class='nav-link' href='#profile' role='tab' aria-selected='false'>Profile</a>
  </li>
</ul>
medium
A. Two tabs labeled 'Home' and 'Profile', with 'Home' highlighted as active.
B. Two pill-shaped buttons labeled 'Home' and 'Profile', both inactive.
C. A vertical list of links with no active highlight.
D. Tabs labeled 'Home' and 'Profile' but both disabled.

Solution

  1. Step 1: Analyze the classes and attributes

    The nav-tabs class creates tab style navigation. The nav-link active class highlights the 'Home' tab as active.
  2. Step 2: Understand the visual effect

    'Home' tab will appear selected with a border, 'Profile' will appear as a normal tab link.
  3. Final Answer:

    Two tabs labeled 'Home' and 'Profile', with 'Home' highlighted as active. -> Option A
  4. Quick Check:

    Active tab is highlighted in nav-tabs [OK]
Hint: Active tab uses 'nav-link active' class [OK]
Common Mistakes:
  • Confusing pills with tabs visually
  • Assuming both tabs are active
  • Ignoring role and aria attributes
4. Identify the error in this Bootstrap nav pills code snippet:
<ul class='nav nav-pills'>
  <li class='nav-item'>
    <a class='nav-link active' data-toggle='tab' href='#home'>Home</a>
  </li>
  <li class='nav-item'>
    <a class='nav-link' data-toggle='tab' href='#profile'>Profile</a>
  </li>
</ul>
medium
A. The attribute data-toggle should be data-bs-toggle in Bootstrap 5+.
B. The class nav-pills is invalid and should be nav-tabs.
C. The href attributes must be full URLs, not fragment IDs.
D. The nav-item class should be on the a tags, not li.

Solution

  1. Step 1: Check Bootstrap version attribute changes

    Bootstrap 5 replaced data-toggle with data-bs-toggle for JavaScript plugins.
  2. Step 2: Verify other attributes and classes

    nav-pills is valid, href can use fragment IDs, and nav-item belongs on li.
  3. Final Answer:

    The attribute data-toggle should be data-bs-toggle in Bootstrap 5+. -> Option A
  4. Quick Check:

    Use 'data-bs-toggle' in Bootstrap 5+ [OK]
Hint: Bootstrap 5 uses 'data-bs-toggle' not 'data-toggle' [OK]
Common Mistakes:
  • Using old Bootstrap 4 attributes
  • Misplacing classes on wrong elements
  • Thinking href must be full URL
5. You want to create a responsive Bootstrap nav with pills that switch content panels on click. Which combination of classes and attributes is correct to ensure accessibility and proper tab switching?
hard
A. <ul class='nav nav-pills'> <li class='nav-item'> <a class='nav-link' href='#home' role='tab' aria-selected='false'>Home</a> </li> </ul>
B. <ul class='nav nav-tabs' role='navigation'> <li> <a class='nav-link' href='#home'>Home</a> </li> </ul>
C. <div class='nav nav-pills'> <a class='nav-link' data-toggle='tab' href='#home'>Home</a> </div>
D. <ul class='nav nav-pills' role='tablist'> <li class='nav-item'> <a class='nav-link active' id='home-tab' data-bs-toggle='pill' href='#home' role='tab' aria-controls='home' aria-selected='true'>Home</a> </li> </ul>

Solution

  1. Step 1: Identify correct classes and roles for pills navigation

    Use nav nav-pills on ul with role='tablist' for accessibility.
  2. Step 2: Check anchor attributes for tab switching and accessibility

    Anchors need id, data-bs-toggle='pill', href to panel, role='tab', aria-controls, and aria-selected.
  3. Step 3: Confirm active state on the selected tab

    The active tab has nav-link active and aria-selected='true'.
  4. Final Answer:

    <ul class='nav nav-pills' role='tablist'> <li class='nav-item'> <a class='nav-link active' id='home-tab' data-bs-toggle='pill' href='#home' role='tab' aria-controls='home' aria-selected='true'>Home</a> </li> </ul> -> Option D
  5. Quick Check:

    Use 'nav-pills' with proper roles and 'data-bs-toggle' [OK]
Hint: Use 'data-bs-toggle', roles, and aria attributes for tabs [OK]
Common Mistakes:
  • Omitting role or aria attributes
  • Using old 'data-toggle' instead of 'data-bs-toggle'
  • Missing active class on selected tab
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard