📖 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
Step 1: Understand Bootstrap button class structure
Bootstrap buttons require the base class btn plus a style class like btn-primary to work properly.
Step 2: Identify the mistake in the options
Using btn-primary alone without btn will not style the button correctly.
Final Answer:
Using btn-primary without the base btn class -> Option B
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
Step 1: Recall Bootstrap grid basics
Bootstrap grid uses rows and columns. Using col without a number divides space equally among columns.
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.
Final Answer:
Using col inside a row for equal columns -> Option A
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?
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
Step 1: Check Bootstrap 5 data attribute syntax
Bootstrap 5 changed data-toggle and data-target to data-bs-toggle and data-bs-target.
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.
Final Answer:
Using data-toggle and data-target instead of data-bs-toggle and data-bs-target -> Option C
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
Step 1: Understand horizontal centering in Bootstrap
Using mx-auto applies automatic horizontal margins, centering the element inside its container.
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.
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.
Final Answer:
<div class='card mx-auto' style='max-width: 24rem;'>...</div> -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.