Bird
Raised Fist0
Bootsrapmarkup~20 mins

Collapse component in Bootsrap - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Bootstrap Collapse Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does the Bootstrap Collapse component work?
Which statement best describes how the Bootstrap Collapse component controls the visibility of content?
AIt uses JavaScript to hide the content by setting visibility to 'hidden' without changing layout.
BIt removes the content from the DOM when collapsed and adds it back when expanded.
CIt changes the display property between 'block' and 'none' instantly without animation.
DIt toggles the height of the content between 0 and its full height using CSS transitions.
Attempts:
2 left
💡 Hint
Think about how smooth animations are achieved in Bootstrap Collapse.
📝 Syntax
intermediate
2:00remaining
Identify the correct data attribute to trigger a collapse
Which data attribute correctly triggers a Bootstrap Collapse toggle when added to a button?
Adata-collapse="toggle"
Bdata-toggle="collapse"
Cdata-target="#collapse"
Ddata-trigger="collapse"
Attempts:
2 left
💡 Hint
Bootstrap uses a specific data attribute to identify toggle elements.
❓ rendering
advanced
2:00remaining
What is the visual result of this Collapse HTML snippet?
Given the following HTML, what will the user see when the page loads?
Bootsrap
<button class="btn btn-primary" data-toggle="collapse" data-target="#info">Toggle Info</button>
<div id="info" class="collapse show">
  <p>This is some collapsible content.</p>
</div>
AThe paragraph is visible initially and can be hidden by clicking the button.
BThe paragraph is hidden initially and appears when the button is clicked.
CThe button is disabled and does not toggle the paragraph visibility.
DThe paragraph is always visible and does not collapse.
Attempts:
2 left
💡 Hint
Look at the class applied to the collapsible div.
❓ selector
advanced
2:00remaining
Which CSS selector targets only expanded collapse elements?
In Bootstrap, which CSS selector matches only the collapse elements that are currently expanded (visible)?
A.collapse[hidden]
B.collapse:not(.show)
C.collapse.show
D.collapse[aria-expanded="false"]
Attempts:
2 left
💡 Hint
Expanded collapse elements have a specific class added by Bootstrap.
❓ accessibility
expert
2:00remaining
Which ARIA attribute correctly reflects the state of a collapse toggle button?
For accessibility, which ARIA attribute should be updated on a button that toggles a Bootstrap Collapse element to indicate its expanded or collapsed state?
Aaria-expanded
Baria-hidden
Caria-pressed
Daria-controls
Attempts:
2 left
💡 Hint
This attribute is a boolean that tells screen readers if content is visible.

Practice

(1/5)
1. What is the main purpose of the Bootstrap Collapse component?
easy
A. To hide or show content smoothly when a user clicks a control
B. To create a fixed navigation bar at the top of the page
C. To add animations to images on hover
D. To validate form inputs automatically

Solution

  1. Step 1: Understand the Collapse component function

    The Collapse component is designed to toggle visibility of content smoothly, usually triggered by user actions like clicks.
  2. Step 2: Compare options with the component's purpose

    Only To hide or show content smoothly when a user clicks a control describes hiding or showing content smoothly, which matches the Collapse component's role.
  3. Final Answer:

    To hide or show content smoothly when a user clicks a control -> Option A
  4. Quick Check:

    Collapse toggles content visibility = B [OK]
Hint: Collapse means hide/show content smoothly on click [OK]
Common Mistakes:
  • Confusing Collapse with navigation or animation components
  • Thinking Collapse validates forms
  • Assuming Collapse is for styling images
2. Which attribute is required on a button to toggle a Bootstrap Collapse element?
easy
A. data-target="collapse"
B. data-toggle="collapse"
C. data-bs-toggle="collapse"
D. data-bs-target="collapse"

Solution

  1. Step 1: Identify the correct Bootstrap 5 attribute for toggling Collapse

    Bootstrap 5 uses the prefix data-bs- for its JavaScript plugins, so the toggle attribute is data-bs-toggle="collapse".
  2. Step 2: Eliminate outdated or incorrect attributes

    Options A and B use syntax without bs prefix (Bootstrap 4 or earlier). data-bs-target="collapse"'s data-bs-target="collapse" specifies the target element, not the toggle action.
  3. Final Answer:

    data-bs-toggle="collapse" -> Option C
  4. Quick Check:

    Toggle attribute in Bootstrap 5 = data-bs-toggle="collapse" [OK]
Hint: Use data-bs-toggle="collapse" for toggling in Bootstrap 5 [OK]
Common Mistakes:
  • Using data-toggle instead of data-bs-toggle
  • Confusing data-bs-target with toggle attribute
  • Omitting the data-bs prefix
3. What will happen when the button below is clicked?
<button class="btn btn-primary" data-bs-toggle="collapse" data-bs-target="#info">Toggle Info</button>
<div id="info" class="collapse">Hidden content here</div>
medium
A. Nothing will happen because the button lacks a click event
B. The div with id "info" will smoothly appear or disappear
C. The button will change color but content stays hidden
D. The div will be removed from the page permanently

Solution

  1. Step 1: Analyze the button attributes

    The button has data-bs-toggle="collapse" and data-bs-target="#info", linking it to the div with id "info".
  2. Step 2: Understand the effect on the target div

    The div has class "collapse", so clicking the button toggles its visibility with a smooth animation.
  3. Final Answer:

    The div with id "info" will smoothly appear or disappear -> Option B
  4. Quick Check:

    Button toggles collapse div visibility = A [OK]
Hint: Button with data-bs-toggle toggles target collapse div [OK]
Common Mistakes:
  • Thinking button needs JavaScript event handlers manually
  • Assuming button changes style only
  • Believing div is removed instead of toggled
4. Identify the error in this Bootstrap Collapse code snippet:
<button class="btn btn-secondary" data-bs-toggle="collapse" data-bs-target="#panel">Show</button>
<div id="panel" class="collaps">Content</div>
medium
A. The div has a typo in the class name; it should be "collapse"
B. The button is missing the data-bs-toggle attribute
C. The div id does not match the data-bs-target
D. The button should use data-toggle instead of data-bs-toggle

Solution

  1. Step 1: Check the button attributes

    The button correctly uses data-bs-toggle="collapse" and targets #panel.
  2. Step 2: Inspect the div class and id

    The div has id "panel" matching the target, but the class is "collaps" instead of "collapse". This typo prevents the collapse behavior.
  3. Final Answer:

    The div has a typo in the class name; it should be "collapse" -> Option A
  4. Quick Check:

    Class must be "collapse" for Bootstrap to work [OK]
Hint: Check class spelling: must be "collapse" not "collaps" [OK]
Common Mistakes:
  • Misspelling the collapse class
  • Confusing data-bs-toggle with data-toggle
  • Mismatching id and data-bs-target
5. You want to create an accordion with two sections using Bootstrap Collapse. Which code snippet correctly ensures only one section is open at a time?
<div class="accordion" id="accordionExample">
  <div class="accordion-item">
    <h2 class="accordion-header">
      <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">Section 1</button>
    </h2>
    <div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#accordionExample">
      <div class="accordion-body">Content 1</div>
    </div>
  </div>
  <div class="accordion-item">
    <h2 class="accordion-header">
      <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">Section 2</button>
    </h2>
    <div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
      <div class="accordion-body">Content 2</div>
    </div>
  </div>
</div>
hard
A. The divs lack the collapse class, so sections won't toggle
B. Missing data-bs-toggle attribute on buttons prevents collapse
C. Using aria-expanded="true" disables collapse functionality
D. This code correctly uses data-bs-parent to allow only one open section

Solution

  1. Step 1: Check for accordion structure and attributes

    The code uses data-bs-parent="#accordionExample" on collapse divs, which ensures only one section is open at a time.
  2. Step 2: Verify buttons and collapse classes

    Buttons have data-bs-toggle="collapse" and target correct divs. Collapse divs have the correct classes and IDs.
  3. Final Answer:

    This code correctly uses data-bs-parent to allow only one open section -> Option D
  4. Quick Check:

    data-bs-parent controls accordion behavior = C [OK]
Hint: Use data-bs-parent on collapse divs for accordion effect [OK]
Common Mistakes:
  • Omitting data-bs-parent causes multiple sections open
  • Forgetting collapse class on content divs
  • Misusing aria-expanded attribute
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