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
Position Utilities with Tailwind CSS
📖 Scenario: You are creating a simple webpage section where a small label should appear on top of an image. The label must stay in the top-left corner of the image regardless of the page scroll.
🎯 Goal: Build a webpage section with an image and a label positioned using Tailwind CSS utilities: the image container should be relative, the label should be absolute inside it, and the label should remain fixed in the top-left corner of the viewport when scrolling.
📋 What You'll Learn
Use Tailwind CSS position utilities: relative, absolute, and fixed
Create a container with an image and a label
Position the label absolutely inside the container at the top-left corner
Add a fixed label that stays visible at the top-left corner of the viewport
Use semantic HTML and accessible attributes
💡 Why This Matters
🌍 Real World
Position utilities are used in web design to place elements exactly where you want them, like badges on images or fixed navigation bars.
💼 Career
Understanding CSS positioning and Tailwind utilities is essential for frontend developers to build responsive and interactive user interfaces.
Progress0 / 4 steps
1
Create the HTML structure with an image container
Create a div with class relative and inside it add an img tag with src="https://via.placeholder.com/300" and alt="Sample image".
Tailwind
Hint
Use the Tailwind class relative on the container div to prepare for absolute positioning inside.
2
Add an absolute positioned label inside the image container
Inside the div with class relative, add a span with text "New" and classes absolute top-0 left-0 bg-blue-500 text-white px-2 py-1 text-sm.
Tailwind
Hint
The label uses absolute positioning with top-0 and left-0 to appear in the top-left corner of the container.
3
Add a fixed label that stays at the viewport's top-left corner
Outside the relative container, add another span with text "Fixed Label" and classes fixed top-0 left-0 bg-red-600 text-white px-3 py-1 text-sm.
Tailwind
Hint
The fixed label uses fixed positioning so it stays visible at the top-left corner of the browser window even when scrolling.
4
Add a main container and ensure accessibility
Wrap the entire content inside a <main> tag with aria-label="Image section with labels" for accessibility.
Tailwind
Hint
Use the semantic main tag and add an aria-label to describe the section for screen readers.
Practice
(1/5)
1. Which Tailwind class makes an element stay fixed on the screen even when you scroll?
easy
A. fixed
B. relative
C. absolute
D. static
Solution
Step 1: Understand the behavior of fixed
The fixed class keeps an element in the same place on the screen, even when scrolling.
Step 2: Compare with other position classes
relative moves the element relative to its normal spot, absolute positions relative to nearest positioned parent, and static is default with no special positioning.
Final Answer:
fixed -> Option A
Quick Check:
Fixed position = fixed [OK]
Hint: Fixed means stays put on screen during scroll [OK]
Common Mistakes:
Confusing absolute with fixed
Thinking relative keeps element fixed
Assuming static affects position
2. Which Tailwind class should you add to a parent element to make its child with absolute positioning align relative to it?
easy
A. static
B. fixed
C. absolute
D. relative
Solution
Step 1: Understand absolute positioning context
An element with absolute positioning is placed relative to the nearest ancestor that has a position other than static.
Step 2: Identify which position sets the context
Setting the parent to relative makes it the reference for the child's absolute position.
Final Answer:
relative -> Option D
Quick Check:
Parent must be relative for child's absolute [OK]
Hint: Parent needs relative for child's absolute to work [OK]
Common Mistakes:
Using fixed on parent instead of relative
Not setting any position on parent
Using absolute on parent mistakenly
3. What will happen if you apply absolute top-0 left-0 to a child inside a parent with no position class in Tailwind?
medium
A. The child will be positioned at the top-left of the parent.
B. The child will be positioned at the top-left of the page (viewport).
C. The child will stay in its normal place without moving.
D. The child will be hidden because of missing parent position.
Solution
Step 1: Check parent's position
The parent has no position class, so it defaults to static.
Step 2: Understand absolute positioning without positioned parent
When no positioned parent exists, absolute positions relative to the page (viewport).
Final Answer:
The child will be positioned at the top-left of the page (viewport). -> Option B
Quick Check:
Absolute without positioned parent = viewport position [OK]
Hint: Absolute without relative parent = position relative to page [OK]
Common Mistakes:
Assuming child positions relative to parent without position
Thinking child stays in normal flow
Believing child gets hidden
4. You want a button to stay visible at the bottom right corner of the screen while scrolling. You add absolute bottom-0 right-0 to it, but it doesn't stay fixed. What is the fix?
medium
A. Remove all position classes from the button.
B. Add relative to the button's parent.
C. Change absolute to fixed on the button.
D. Add static to the button.
Solution
Step 1: Understand difference between absolute and fixed
absolute positions relative to nearest positioned parent and scrolls with page; fixed stays visible on screen during scroll.
Step 2: Identify correct class for fixed position
To keep the button visible at bottom right while scrolling, use fixed instead of absolute.
Final Answer:
Change absolute to fixed on the button. -> Option C
Quick Check:
Fixed = stays visible on scroll [OK]
Hint: Use fixed for always visible elements [OK]
Common Mistakes:
Using absolute expecting fixed behavior
Adding relative to parent instead of fixing button
Removing position classes without replacing
5. You have a div with relative class and inside it a span with absolute top-0 right-0. You want the span to stay fixed at the top right of the viewport instead. How do you change the classes?
hard
A. Change absolute on span to fixed and keep relative on div.
B. Change relative on div to fixed and keep absolute on span.
C. Remove all position classes from both elements.
D. Add fixed to both div and span.
Solution
Step 1: Understand current setup
The div is relative, so the span with absolute positions relative to it.
Step 2: Change span to fixed for viewport positioning
To position the span relative to the viewport (screen), it needs fixed instead of absolute. The parent can remain relative.
Final Answer:
Change absolute on span to fixed and keep relative on div. -> Option A
Quick Check:
Fixed on child = position relative to viewport [OK]
Hint: Use fixed on element to fix on viewport [OK]
Common Mistakes:
Changing parent to fixed instead of child
Keeping absolute on child expecting fixed behavior