Positioning

Back

Loading concept...

Layout and Positioning in Tailwind CSS

The Sticker Book Analogy đź“–

Imagine you have a sticker book. Each page is your webpage. Every sticker is an element (a button, image, or text box). Now, where you place each sticker and how they overlap—that’s positioning!

Some stickers stay where you put them. Others float to the top when you open the book. Some stick to the edge of the page no matter how you flip it. Tailwind CSS gives you special powers to control exactly where each sticker lands!


1. Position Utilities

What is Position?

Think of position like asking: “How does this sticker behave when I move the page?”

Tailwind gives you 5 position superpowers:

Class What It Does Real Life Example
static Default—stays in line Books on a shelf
relative Stays in place but can nudge A picture frame you shift slightly
absolute Floats freely inside its parent A sticky note on your desk
fixed Sticks to the screen (never moves) A “Back to Top” button
sticky Stays until you scroll past it A header that follows you

Simple Examples

Static (Default)

<div class="static">
  I stay in the normal flow.
</div>

This is like a book on a shelf—it just sits where it belongs.

Relative

<div class="relative top-2 left-4">
  I nudge myself a bit!
</div>

The element stays in its spot but scoots 0.5rem down and 1rem right.

Absolute

<div class="relative">
  <div class="absolute top-0 right-0">
    I stick to parent's corner!
  </div>
</div>

Like a sticky note placed at the top-right corner of your desk.

Fixed

<button class="fixed bottom-4 right-4">
  Back to Top
</button>

This button stays at the bottom-right of your screen—even when you scroll!

Sticky

<header class="sticky top-0 bg-white">
  I stick when you scroll past me!
</header>

The header stays at the top once you scroll past its original position.


2. Inset Utilities

What is Inset?

Inset is like giving directions to your sticker: “Go 10 steps from the top!” or “Stay 5 steps away from the left edge!”

Tailwind uses these classes:

  • top-{value} — Distance from top
  • right-{value} — Distance from right
  • bottom-{value} — Distance from bottom
  • left-{value} — Distance from left
  • inset-{value} — All four sides at once!
  • inset-x-{value} — Left and right together
  • inset-y-{value} — Top and bottom together

The Magic of Inset

<div class="absolute inset-0">
  I cover my entire parent!
</div>

inset-0 means: top=0, right=0, bottom=0, left=0. The element stretches to fill its parent completely!

<div class="absolute inset-4">
  I have 1rem gap on all sides!
</div>
<div class="absolute inset-x-4 top-0">
  1rem from left & right, at the top!
</div>

Common Values

Class Meaning
top-0 0px from top
top-4 1rem from top
top-1/2 50% from top
top-full 100% from top
-top-4 -1rem (moves up!)

3. Z-Index

The Layer Cake Story 🎂

Imagine a birthday cake with layers. The frosting goes on TOP of the cake layers. Z-index decides which element is the frosting (on top) and which is the cake (underneath).

Higher z-index = closer to your eyes!

Tailwind Z-Index Classes

Class Value Layer Position
z-0 0 Ground floor
z-10 10 First floor
z-20 20 Second floor
z-30 30 Third floor
z-40 40 Fourth floor
z-50 50 Penthouse!
z-auto auto Browser decides

Example: Overlapping Cards

<div class="relative">
  <div class="absolute z-10 bg-blue-500">
    I'm behind
  </div>
  <div class="absolute z-20 bg-red-500">
    I'm in front!
  </div>
</div>

The red box appears in front because z-20 > z-10.

Pro Tip: Negative Z-Index

<div class="-z-10">
  I hide behind everything!
</div>

4. Object Fit

The Photo Frame Problem 🖼️

You have a beautiful photo, but the frame is a different shape. What do you do?

  • Stretch it? (Looks weird!)
  • Crop it? (Lose parts!)
  • Show the whole thing? (Gaps appear!)

object-fit solves this for images and videos!

The 5 Object Fit Options

Class What Happens Best For
object-contain Whole image fits, may have gaps Logos, icons
object-cover Fills space, may crop Hero images
object-fill Stretches to fit (distorts!) Rarely used
object-none Original size, may overflow Special effects
object-scale-down Like contain, but never enlarges Small images

Example: Profile Picture

<img
  src="photo.jpg"
  class="w-24 h-24 object-cover rounded-full"
  alt="Profile">

The image fills the 96x96px circle perfectly, cropping if needed!

Example: Logo That Fits

<img
  src="logo.png"
  class="w-32 h-16 object-contain"
  alt="Logo">

The entire logo shows, even if the container is a different shape.


5. Object Position

Where to Focus? 🎯

When you crop a photo, which part do you keep?

  • The center? (Person’s face)
  • The top? (Sky in a landscape)
  • The bottom? (Ground in a jump shot)

object-position controls the focus point!

Position Options

Class Focus Point
object-center Center (default)
object-top Top edge
object-bottom Bottom edge
object-left Left edge
object-right Right edge
object-left-top Top-left corner
object-right-top Top-right corner
object-left-bottom Bottom-left corner
object-right-bottom Bottom-right corner

Example: Landscape with Sky Focus

<img
  src="landscape.jpg"
  class="w-full h-40 object-cover object-top"
  alt="Landscape">

The top part (sky) stays visible when cropping!

Example: Person on the Right

<img
  src="team.jpg"
  class="w-48 h-32 object-cover object-right"
  alt="Team">

The right side of the image stays in view!


Quick Visual Summary

graph TD A["Position Utilities"] --> B["static - Normal flow"] A --> C["relative - Nudge from spot"] A --> D["absolute - Float in parent"] A --> E["fixed - Stick to screen"] A --> F["sticky - Follows while scrolling"]
graph TD G["Inset &amp; Z-Index"] --> H["top/right/bottom/left"] G --> I["inset = all 4 sides"] G --> J["z-index = layer order"]
graph TD K["Object Fit &amp; Position"] --> L["contain - Show all"] K --> M["cover - Fill &amp; crop"] K --> N["object-position - Focus point"]

Real World Combo! 🚀

A Fixed Chat Button

<button class="
  fixed
  bottom-6
  right-6
  z-50
  w-14
  h-14
  rounded-full
  bg-blue-500
">
  đź’¬
</button>

This chat button:

  • Fixed: Stays on screen
  • Bottom-6, Right-6: 1.5rem from corner
  • Z-50: Always on top
  • Rounded-full: Perfect circle

You’ve Got This! 💪

Position utilities = Where does it live? Inset utilities = How far from edges? Z-index = Which layer is on top? Object fit = How does the image fill its box? Object position = What part of the image to show?

Now go arrange your stickers like a pro! 🎨

Loading story...

Story - Premium Content

Please sign in to view this story and start learning.

Upgrade to Premium to unlock full access to all stories.

Stay Tuned!

Story is coming soon.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.