Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Hidden and Visibility Control with Tailwind CSS
📖 Scenario: You are building a simple webpage that shows a message. You want to control when the message is visible or hidden using Tailwind CSS classes.
🎯 Goal: Create a webpage with a message inside a <div>. Use Tailwind CSS classes to hide or show the message based on a configuration variable.
📋 What You'll Learn
Use Tailwind CSS classes hidden and block to control visibility
Create a configuration variable called isVisible to decide if the message is shown
Use a simple HTML structure with semantic tags
Make sure the message is accessible and visible when isVisible is true
💡 Why This Matters
🌍 Real World
Controlling visibility of elements is common in web apps for showing notifications, modals, or dynamic content.
💼 Career
Understanding how to toggle visibility with CSS classes and JavaScript is essential for front-end developers working with modern frameworks and libraries.
Progress0 / 4 steps
1
Create the HTML skeleton with a message
Create a <div> with the class message that contains the text Hello, Tailwind! inside the <main> tag.
Tailwind
Hint
Use a <div> inside <main> with class message and put the text Hello, Tailwind! inside it.
2
Add a configuration variable isVisible
Add a <script> tag inside the <body> after <main>. Inside it, create a JavaScript variable called isVisible and set it to true.
Tailwind
Hint
Use const isVisible = true; inside a <script> tag placed after the <main> element.
3
Use JavaScript to add Tailwind visibility classes
Inside the existing <script> tag, write JavaScript code that selects the div with class message and adds the Tailwind class hidden if isVisible is false, or block if isVisible is true.
Tailwind
Hint
Select the div.message using document.querySelector. Use classList.add and classList.remove to toggle hidden and block classes based on isVisible.
4
Make the message accessible and ensure default visibility
Add the Tailwind class block to the div with class message in the HTML to ensure it is visible by default. Also, add role="region" and aria-live="polite" attributes to the div for accessibility.
Tailwind
Hint
Add block to the class attribute of div.message. Add role="region" and aria-live="polite" for screen readers.
Practice
(1/5)
1. What does the Tailwind CSS class hidden do to an element?
easy
A. It changes the element's color to transparent.
B. It hides the element and removes its space from the layout.
C. It makes the element semi-transparent.
D. It hides the element but keeps its space in the layout.
Solution
Step 1: Understand the hidden class effect
The hidden class in Tailwind CSS sets display: none;, which hides the element completely.
Step 2: Effect on layout space
Because the element is removed from the layout flow, its space is also removed, so no empty gap remains.
Final Answer:
It hides the element and removes its space from the layout. -> Option B
Quick Check:
hidden = hides + removes space [OK]
Hint: Hidden removes element and space; invisible hides but keeps space [OK]
Common Mistakes:
Thinking hidden keeps space like invisible
Confusing hidden with opacity or visibility
Assuming hidden only makes element transparent
2. Which Tailwind CSS class hides an element but keeps its space reserved in the layout?
easy
A. hidden
B. opacity-0
C. sr-only
D. invisible
Solution
Step 1: Identify the class that hides but keeps space
The invisible class sets visibility: hidden;, which hides the element but keeps its space.
Step 2: Compare with other options
hidden removes element and space, opacity-0 makes element transparent but still interactive, sr-only hides visually but accessible to screen readers.
Final Answer:
invisible -> Option D
Quick Check:
invisible = hide but keep space [OK]
Hint: Invisible hides but reserves space; hidden removes space [OK]
Common Mistakes:
Choosing hidden instead of invisible
Confusing opacity-0 with invisible
Thinking sr-only hides visually and removes space
3. What will be the visible result of this HTML snippet with Tailwind classes?
Hint: Use sr-only to hide visually but keep screen reader access [OK]
Common Mistakes:
Using hidden which removes from accessibility tree
Using invisible which hides visually but not accessible
Using opacity-0 which hides visually but still interactive
5. You have a navigation menu that should be hidden on mobile but visible on larger screens. Which Tailwind classes correctly hide the menu on small screens but show it on medium and above?
hard
A. block md:hidden
B. invisible md:hidden
C. hidden md:block
D. hidden md:hidden
Solution
Step 1: Understand responsive classes
hidden hides element by default (mobile), md:block shows element as block on medium screens and larger.
Step 2: Check other options
invisible md:hidden hides but keeps space on mobile and hides on medium, so menu never visible. block md:hidden shows on mobile but hides on medium, opposite of requirement. hidden md:hidden hides always.
Final Answer:
hidden md:block -> Option C
Quick Check:
Hide mobile, show medium+ = hidden md:block [OK]
Hint: Use hidden for mobile, md:block to show on medium screens [OK]
Common Mistakes:
Using md:hidden hides on medium screens instead of showing
Using invisible which keeps space and confuses layout