Bird
Raised Fist0
Bootsrapmarkup~30 mins

Avoiding common Bootstrap mistakes - Mini Project: Build & Apply

Choose your learning style10 modes available
Avoiding common Bootstrap mistakes
📖 Scenario: You are building a simple responsive webpage using Bootstrap. Many beginners make common mistakes like missing the container, incorrect grid usage, or forgetting responsive meta tags. This project will guide you step-by-step to create a correct Bootstrap layout that avoids these mistakes.
🎯 Goal: Create a basic Bootstrap webpage with a responsive container, a row with two columns, and a responsive navigation bar. The page should display correctly on mobile and desktop without layout issues.
📋 What You'll Learn
Include the Bootstrap CSS via CDN in the <head>
Add the responsive viewport meta tag
Use a <div> with class container to wrap content
Create a row with exactly two columns using col-md-6
Add a responsive navigation bar with a brand name and toggle button
💡 Why This Matters
🌍 Real World
Bootstrap is widely used to build responsive websites quickly. Avoiding common mistakes ensures your site looks good and works well on all devices.
💼 Career
Web developers must know how to properly set up Bootstrap projects to create professional, accessible, and responsive web pages.
Progress0 / 4 steps
1
Setup basic HTML with Bootstrap CSS and viewport meta
Create a basic HTML5 skeleton. Inside the <head>, add the Bootstrap CSS CDN link: https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css. Also add the responsive viewport meta tag: <meta name="viewport" content="width=device-width, initial-scale=1">.
Bootsrap
Hint

Remember to add the viewport meta tag for mobile responsiveness and link the Bootstrap CSS in the head.

2
Add a container and a row with two columns
Inside the <body>, add a <div> with class container. Inside this container, add a <div> with class row. Inside the row, add two <div> elements with class col-md-6 each. Put the text Column 1 in the first column and Column 2 in the second column.
Bootsrap
Hint

Use container to wrap your content and row to hold columns. Use col-md-6 for two equal columns on medium and larger screens.

3
Add a responsive navigation bar
Above the container, add a Bootstrap navigation bar. Use a <nav> element with classes navbar, navbar-expand-md, and navbar-light bg-light. Inside it, add a <a> with class navbar-brand and text MySite. Also add a button with class navbar-toggler and the correct attributes to toggle the navigation on small screens.
Bootsrap
Hint

Use Bootstrap's navbar classes and add a toggler button with the correct data-bs-* attributes for responsiveness.

4
Add Bootstrap JavaScript bundle for interactive components
At the end of the <body>, before the closing tag, add the Bootstrap JavaScript bundle CDN script: https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js. This enables the navbar toggle button to work on small screens.
Bootsrap
Hint

Bootstrap's interactive components need the JavaScript bundle. Add it just before the closing </body> tag.

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