Bird
Raised Fist0
Bootsrapmarkup~20 mins

Avoiding common Bootstrap mistakes - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Bootstrap Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Common mistake with Bootstrap grid columns
What happens if you place more than 12 columns inside a single Bootstrap row without nesting?
Bootsrap
<div class="row">
  <div class="col-4">Column 1</div>
  <div class="col-4">Column 2</div>
  <div class="col-4">Column 3</div>
  <div class="col-4">Column 4</div>
</div>
ABootstrap automatically resizes columns to fit all in one row regardless of total columns.
BThe last column wraps to a new line because Bootstrap grid only supports 12 columns per row.
CThe page crashes with a JavaScript error because of too many columns.
DAll columns stay in one line but overflow the container width causing horizontal scroll.
Attempts:
2 left
💡 Hint
Remember Bootstrap grid system is based on 12 columns per row.
📝 Syntax
intermediate
2:00remaining
Incorrect use of Bootstrap button classes
Which option correctly applies Bootstrap button styles to a button element?
Bootsrap
<button>Click me</button>
A<button class="btn btn-primary">Click me</button>
B<button class="button-primary">Click me</button>
C<button class="btn-primary">Click me</button>
D<button class="btn btn-primary btn">Click me</button>
Attempts:
2 left
💡 Hint
Bootstrap buttons require the base class and a style class.
❓ layout
advanced
2:00remaining
Responsive image sizing mistake
What is the effect of missing the img-fluid class on an image inside a Bootstrap container?
Bootsrap
<div class="container">
  <img src="image.jpg" alt="Sample">
</div>
AThe image may overflow the container width on small screens causing horizontal scroll.
BThe image automatically resizes perfectly on all screen sizes without extra classes.
CThe image disappears because Bootstrap requires <code>img-fluid</code> to show images.
DThe image is centered and scaled down by default.
Attempts:
2 left
💡 Hint
Think about how images behave by default inside containers on small screens.
❓ accessibility
advanced
2:00remaining
Missing ARIA roles in Bootstrap navigation
What accessibility issue arises if you use a Bootstrap navbar without adding ARIA roles or landmarks?
Bootsrap
<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Brand</a>
</nav>
AThe navbar will cause a JavaScript error on load.
BThe navbar will not display colors correctly without ARIA roles.
CKeyboard navigation will be disabled automatically.
DScreen readers may have difficulty identifying the navigation region, reducing accessibility.
Attempts:
2 left
💡 Hint
ARIA roles help assistive technologies understand page structure.
❓ selector
expert
3:00remaining
Specificity conflict in Bootstrap custom CSS
You want to override Bootstrap's .btn-primary background color with your own CSS. Which selector will reliably override Bootstrap styles without using !important?
A.btn-primary { background-color: #123456; }
Bbutton.btn-primary { background-color: #123456; }
Cbutton.btn.btn-primary { background-color: #123456; }
D.btn.btn-primary { background-color: #123456; }
Attempts:
2 left
💡 Hint
More specific selectors override less specific ones in CSS.

Practice

(1/5)
1. Which of the following is a common mistake when using Bootstrap buttons?
easy
A. Adding both btn and btn-primary classes together
B. Using btn-primary without the base btn class
C. Using btn class alone without any color class
D. Using btn-secondary for a secondary button

Solution

  1. Step 1: Understand Bootstrap button class structure

    Bootstrap buttons require the base class btn plus a style class like btn-primary to work properly.
  2. Step 2: Identify the mistake in the options

    Using btn-primary alone without btn will not style the button correctly.
  3. Final Answer:

    Using btn-primary without the base btn class -> Option B
  4. Quick Check:

    Always combine btn with style classes [OK]
Hint: Always include base btn class with button styles [OK]
Common Mistakes:
  • Forgetting the base btn class
  • Using incorrect class names
  • Mixing Bootstrap 3 and 5 classes
2. Which of the following is the correct syntax to create a responsive Bootstrap grid row with three equal columns?
easy
A. <div class='row'><div class='col'>...</div><div class='col'>...</div><div class='col'>...</div></div>
B. <div class='row'><div class='col-6'>...</div><div class='col-6'>...</div><div class='col-6'>...</div></div>
C. <div class='container'><div class='col-4'>...</div><div class='col-4'>...</div><div class='col-4'>...</div></div>
D. <div class='row'><div class='col-3'>...</div><div class='col-3'>...</div><div class='col-3'>...</div></div>

Solution

  1. Step 1: Recall Bootstrap grid basics

    Bootstrap grid uses rows and columns. Using col without a number divides space equally among columns.
  2. Step 2: Check each option

    <div class='row'><div class='col'>...</div><div class='col'>...</div><div class='col'>...</div></div> uses col three times inside a row, which creates three equal columns responsively.
  3. Final Answer:

    Using col inside a row for equal columns -> Option A
  4. Quick Check:

    Equal columns = col inside row [OK]
Hint: Use col for equal columns inside a row [OK]
Common Mistakes:
  • Using col-4 without a row
  • Missing the row container
  • Using wrong column widths that don't add to 12
3. What will be the visual result of this Bootstrap code snippet?
<div class='container'>
  <div class='row'>
    <div class='col-md-6 col-sm-12'>Left</div>
    <div class='col-md-6 col-sm-12'>Right</div>
  </div>
</div>
medium
A. Two columns side by side on medium screens and above; stacked on small screens
B. Two columns stacked on all screen sizes
C. Two columns side by side on all screen sizes
D. Only one column visible, the other hidden

Solution

  1. Step 1: Understand Bootstrap responsive classes

    col-md-6 means half width on medium (≥768px) and larger screens; col-sm-12 means full width on small (≥576px) screens.
  2. Step 2: Analyze layout behavior

    On medium and larger screens, columns appear side by side (each half width). On small screens, columns stack vertically (full width each).
  3. Final Answer:

    Two columns side by side on medium screens and above; stacked on small screens -> Option A
  4. Quick Check:

    Responsive classes control stacking vs side-by-side [OK]
Hint: Remember smaller screen classes override larger ones for stacking [OK]
Common Mistakes:
  • Assuming columns always stay side by side
  • Confusing col-sm and col-md breakpoints
  • Not testing on different screen sizes
4. Identify the error in this Bootstrap navbar code snippet:
<nav class='navbar navbar-expand-lg'>
  <div class='container-fluid'>
    <a class='navbar-brand' href='#'>Brand</a>
    <button class='navbar-toggler' type='button' data-toggle='collapse' data-target='#navbarNav'>
      <span class='navbar-toggler-icon'></span>
    </button>
    <div class='collapse navbar-collapse' id='navbarNav'>
      <ul class='navbar-nav'>
        <li class='nav-item'><a class='nav-link' href='#'>Home</a></li>
      </ul>
    </div>
  </div>
</nav>
medium
A. Incorrect use of navbar-nav inside ul
B. Missing navbar-brand class on the brand link
C. Using data-toggle and data-target instead of data-bs-toggle and data-bs-target
D. Missing container class instead of container-fluid

Solution

  1. Step 1: Check Bootstrap 5 data attribute syntax

    Bootstrap 5 changed data-toggle and data-target to data-bs-toggle and data-bs-target.
  2. Step 2: Identify the error in the snippet

    The snippet uses old Bootstrap 4 attributes data-toggle and data-target, which won't work in Bootstrap 5.
  3. Final Answer:

    Using data-toggle and data-target instead of data-bs-toggle and data-bs-target -> Option C
  4. Quick Check:

    Bootstrap 5 requires data-bs-* attributes [OK]
Hint: Use data-bs-toggle and data-bs-target in Bootstrap 5 [OK]
Common Mistakes:
  • Using Bootstrap 4 data attributes in Bootstrap 5
  • Forgetting to include Bootstrap JS for toggler
  • Incorrect container class usage
5. You want a Bootstrap card component that always stays centered horizontally on all screen sizes and has a maximum width of 24rem. Which combination of classes and styles avoids common mistakes?
hard
A. <div class='card' style='width: 24rem; margin: auto;'>...</div>
B. <div class='card text-center' style='width: 24rem;'>...</div>
C. <div class='card mx-auto' style='width: 24rem;'>...</div>
D. <div class='card mx-auto' style='max-width: 24rem;'>...</div>

Solution

  1. Step 1: Understand horizontal centering in Bootstrap

    Using mx-auto applies automatic horizontal margins, centering the element inside its container.
  2. Step 2: Use max-width for responsive sizing

    Setting max-width: 24rem; limits the card's width but allows it to shrink on smaller screens, avoiding overflow.
  3. Step 3: Evaluate options

    <div class='card mx-auto' style='max-width: 24rem;'>...</div> uses mx-auto and max-width, which is the best practice to center and limit width responsively.
  4. Final Answer:

    <div class='card mx-auto' style='max-width: 24rem;'>...</div> -> Option D
  5. Quick Check:

    Center with mx-auto and limit width with max-width [OK]
Hint: Use mx-auto and max-width for centered responsive cards [OK]
Common Mistakes:
  • Using fixed width without max-width causing overflow
  • Using text-center which centers text, not the card
  • Forgetting horizontal margin auto for centering
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