📖 Scenario: You are creating a simple webpage that uses Bootstrap to show helpful tooltips when users hover over buttons. Tooltips provide extra information without cluttering the page.
🎯 Goal: Build a webpage with a button that shows a tooltip on hover using Bootstrap's tooltip component.
📋 What You'll Learn
Include Bootstrap CSS and JS via CDN
Create a button with the text 'Hover me!'
Add a tooltip to the button with the text 'This is a tooltip!'
Initialize the tooltip using Bootstrap's JavaScript
Ensure the tooltip appears on hover
💡 Why This Matters
🌍 Real World
Tooltips are common in websites and apps to provide extra information without cluttering the interface. They help users understand buttons or icons quickly.
💼 Career
Knowing how to use Bootstrap tooltips is useful for front-end developers to create user-friendly interfaces efficiently using popular frameworks.
Progress0 / 4 steps
1
Create the basic HTML structure with Bootstrap CSS
Create a basic HTML5 page with lang="en" and include the Bootstrap 5 CSS CDN link inside the <head>. Add a <body> with a <button> element that has the text Hover me! and the Bootstrap classes btn and btn-primary.
Bootsrap
Hint
Remember to add the Bootstrap CSS link inside the <head> and create a button with classes btn and btn-primary.
2
Add tooltip attributes to the button
Add the attribute data-bs-toggle="tooltip" and title="This is a tooltip!" to the existing <button> element to enable the tooltip text.
Bootsrap
Hint
Add data-bs-toggle="tooltip" and title="This is a tooltip!" inside the <button> tag.
3
Include Bootstrap JavaScript bundle
Add the Bootstrap 5 JavaScript bundle CDN script tag just before the closing </body> tag to enable Bootstrap's interactive components.
Bootsrap
Hint
Include the Bootstrap JavaScript bundle by adding a <script> tag before </body>.
4
Initialize the tooltip with JavaScript
Add a <script> block after the Bootstrap JS script that selects the button with data-bs-toggle="tooltip" and initializes the tooltip using new bootstrap.Tooltip().
Bootsrap
Hint
Use document.querySelector to select the button and then create a new bootstrap.Tooltip instance for it.
Practice
(1/5)
1. What is the main purpose of a Bootstrap tooltip component?
easy
A. To show extra information when hovering or focusing on an element
B. To create a clickable button
C. To display a full page modal
D. To change the background color of an element
Solution
Step 1: Understand tooltip functionality
Tooltips provide extra info on hover or focus without cluttering the page.
Step 2: Compare options with tooltip purpose
Only To show extra information when hovering or focusing on an element describes showing extra info on hover/focus, which matches tooltip behavior.
Final Answer:
To show extra information when hovering or focusing on an element -> Option A
Quick Check:
Tooltip = extra info on hover/focus [OK]
Hint: Tooltips show hints on hover or focus [OK]
Common Mistakes:
Confusing tooltips with modals or buttons
Thinking tooltips change element styles permanently
Assuming tooltips require clicks
2. Which attribute is required on an element to enable a Bootstrap tooltip?
easy
A. data-bs-toggle="tooltip"
B. data-toggle="modal"
C. aria-label="tooltip"
D. data-bs-target="#tooltip"
Solution
Step 1: Identify correct attribute for tooltip
Bootstrap tooltips require data-bs-toggle="tooltip" on the element.
Step 2: Eliminate other attributes
Other options relate to modals, accessibility labels, or targets, not tooltips.
Final Answer:
data-bs-toggle="tooltip" -> Option A
Quick Check:
Tooltip attribute = data-bs-toggle="tooltip" [OK]
Hint: Look for data-bs-toggle="tooltip" to enable tooltips [OK]
Common Mistakes:
Using data-toggle instead of data-bs-toggle
Confusing tooltip with modal attributes
Missing the required attribute entirely
3. What will happen when the following code runs in a Bootstrap-enabled page?
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" title="Save changes">Save</button>
<script>
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
</script>
medium
A. Nothing happens because tooltips need clicks
B. The button text changes to 'Save changes' immediately
C. An error occurs because the script is incorrect
D. Hovering over the button shows a tooltip with text 'Save changes'
Solution
Step 1: Understand the HTML and JS code
The button has data-bs-toggle="tooltip" and a title attribute. The script initializes Bootstrap tooltips on all such elements.
Step 2: Predict the user interaction
When hovering or focusing on the button, the tooltip with text 'Save changes' will appear.
Final Answer:
Hovering over the button shows a tooltip with text 'Save changes' -> Option D
Quick Check:
Tooltip shows on hover with title text [OK]
Hint: Tooltip text comes from title attribute, shows on hover [OK]
Common Mistakes:
Thinking tooltip shows on click only
Expecting button text to change
Assuming script causes error
4. Identify the error in this Bootstrap tooltip setup:
<button type="button" class="btn btn-primary" data-toggle="tooltip" title="Click me">Click</button>
<script>
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (el) {
return new bootstrap.Tooltip(el);
});
</script>
medium
A. The title attribute is missing
B. The script uses the wrong selector for tooltips
C. The button uses data-toggle instead of data-bs-toggle
D. Bootstrap tooltips do not require JavaScript initialization
Solution
Step 1: Check the button attribute
The button uses data-toggle="tooltip" but Bootstrap 5 requires data-bs-toggle="tooltip".
Step 2: Confirm script selector matches attribute
The script selects elements with data-bs-toggle="tooltip", so it finds none because the button uses the old attribute.
Final Answer:
The button uses data-toggle instead of data-bs-toggle -> Option C
Quick Check:
Bootstrap 5 uses data-bs-toggle, not data-toggle [OK]
Hint: Match data-bs-toggle attribute with JS selector [OK]
Common Mistakes:
Using old Bootstrap 4 attribute data-toggle
Assuming title attribute is optional
Thinking JS initialization is unnecessary
5. You want to add a tooltip to a link that is accessible and works on keyboard focus. Which is the best way to implement it using Bootstrap?
hard
A. Add aria-label only without JavaScript
B. Add data-bs-toggle="tooltip" and title attributes, then initialize tooltips with JavaScript
C. Use data-bs-toggle="popover" instead of tooltip
D. Add a span with tooltip text visible always
Solution
Step 1: Understand accessibility and Bootstrap tooltip setup
Bootstrap tooltips require data-bs-toggle="tooltip" and a title attribute for text. They show on hover and keyboard focus.
Step 2: Evaluate other options for accessibility and functionality
Add aria-label only without JavaScript lacks tooltip behavior, C uses popover (different), D shows text always (not tooltip).
Final Answer:
Add data-bs-toggle="tooltip" and title attributes, then initialize tooltips with JavaScript -> Option B
Quick Check:
Tooltip needs data-bs-toggle, title, and JS init for accessibility [OK]
Hint: Use data-bs-toggle and title with JS for accessible tooltips [OK]
Common Mistakes:
Skipping JavaScript initialization
Confusing popovers with tooltips
Making tooltip text always visible
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.