Bird
Raised Fist0
Tailwindmarkup~5 mins

Sticky header and footer in Tailwind

Choose your learning style10 modes available
Introduction

A sticky header and footer stay visible on the screen when you scroll. This helps users always see important info or navigation.

When you want the site menu to always be accessible at the top.
When you want a footer with contact info or buttons always visible.
When you have a long page and want quick access to navigation or actions.
When you want to improve user experience by keeping key parts in view.
When you want to highlight announcements or alerts at the top or bottom.
Syntax
Tailwind
<header class="sticky top-0">...</header>
<footer class="sticky bottom-0">...</footer>

sticky makes the element stick when scrolling.

top-0 and bottom-0 fix the element to the top or bottom edge.

Examples
This header sticks to the top with a white background and shadow.
Tailwind
<header class="sticky top-0 bg-white shadow">Header content</header>
This footer sticks to the bottom with padding and a light gray background.
Tailwind
<footer class="sticky bottom-0 bg-gray-200 p-4">Footer content</footer>
Both header and footer stick with high stacking order and colored backgrounds.
Tailwind
<header class="sticky top-0 z-50 bg-blue-600 text-white p-3">Sticky Header</header>
<footer class="sticky bottom-0 z-50 bg-blue-600 text-white p-3">Sticky Footer</footer>
Sample Program

This example shows a sticky header and footer using Tailwind CSS. The header stays at the top and the footer stays at the bottom while you scroll the tall content in the middle.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Sticky Header and Footer</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="flex flex-col min-h-screen">
  <header class="sticky top-0 bg-blue-700 text-white p-4 shadow">
    <h1 class="text-lg font-bold">Sticky Header</h1>
  </header>

  <main class="flex-grow p-4">
    <p>Scroll down to see the footer stay visible.</p>
    <div class="h-[150vh] bg-gray-100 mt-4 p-4">
      <p>This is a tall content area to enable scrolling.</p>
    </div>
  </main>

  <footer class="sticky bottom-0 bg-blue-700 text-white p-4 shadow">
    <p>Sticky Footer</p>
  </footer>
</body>
</html>
OutputSuccess
Important Notes

Use z-50 or higher if sticky elements get hidden behind other content.

Sticky elements keep their place in the page flow but stay visible when scrolling.

Make sure the parent container has enough height to allow scrolling.

Summary

Sticky header and footer stay visible when you scroll.

Use Tailwind classes sticky, top-0, and bottom-0 to create them.

They improve navigation and user experience on long pages.

Practice

(1/5)
1. What does the Tailwind class sticky do when applied to a header or footer?
easy
A. It makes the element disappear after scrolling 100px.
B. It hides the element when scrolling down.
C. It keeps the element visible at a fixed position while scrolling.
D. It changes the element's color on scroll.

Solution

  1. Step 1: Understand the sticky class behavior

    The sticky class makes an element stick to a position relative to the viewport when scrolling.
  2. Step 2: Apply to header or footer context

    When used on a header or footer, it keeps that element visible at the top or bottom as the page scrolls.
  3. Final Answer:

    It keeps the element visible at a fixed position while scrolling. -> Option C
  4. Quick Check:

    Sticky = fixed visibility on scroll [OK]
Hint: Sticky means element stays visible while scrolling [OK]
Common Mistakes:
  • Confusing sticky with fixed positioning
  • Thinking sticky hides elements on scroll
  • Assuming sticky changes colors automatically
2. Which Tailwind classes correctly create a sticky footer that stays at the bottom of the viewport?
easy
A. sticky bottom-0
B. sticky top-0
C. fixed bottom-0
D. absolute bottom-0

Solution

  1. Step 1: Identify sticky footer classes

    To make a footer sticky at the bottom, use sticky with bottom-0 so it sticks to the bottom edge.
  2. Step 2: Compare other options

    top-0 sticks to top, fixed is different positioning, and absolute does not stick on scroll.
  3. Final Answer:

    <code>sticky bottom-0</code> -> Option A
  4. Quick Check:

    Sticky + bottom-0 = sticky footer [OK]
Hint: Use sticky with bottom-0 for sticky footer [OK]
Common Mistakes:
  • Using top-0 for footer instead of bottom-0
  • Confusing fixed with sticky positioning
  • Using absolute which doesn't stick on scroll
3. What will happen if you apply sticky top-0 bg-white shadow classes to a header element in Tailwind CSS?
medium
A. The header becomes fixed and covers the whole page.
B. The header scrolls away and has no background or shadow.
C. The header sticks to the bottom with transparent background.
D. The header sticks to the top with white background and shadow while scrolling.

Solution

  1. Step 1: Analyze the classes

    sticky top-0 makes the header stick to the top of the viewport. bg-white sets a white background. shadow adds a subtle shadow.
  2. Step 2: Predict visual effect on scroll

    The header stays visible at the top with white background and shadow as the user scrolls down the page.
  3. Final Answer:

    The header sticks to the top with white background and shadow while scrolling. -> Option D
  4. Quick Check:

    sticky top-0 + bg-white + shadow = sticky visible header [OK]
Hint: sticky top-0 keeps header visible with styles [OK]
Common Mistakes:
  • Thinking sticky hides header on scroll
  • Confusing bottom-0 with top-0
  • Ignoring background and shadow effects
4. You want a sticky header but it disappears behind other content when scrolling. Which Tailwind class should you add to fix this?
medium
A. opacity-50
B. z-50
C. hidden
D. overflow-hidden

Solution

  1. Step 1: Understand the problem

    The sticky header is behind other content, meaning it has a lower stacking order (z-index).
  2. Step 2: Use z-index to fix stacking

    Adding z-50 increases the z-index, bringing the header above other elements.
  3. Final Answer:

    z-50 -> Option B
  4. Quick Check:

    Use z-50 to fix sticky header layering [OK]
Hint: Add z-50 to bring sticky header above content [OK]
Common Mistakes:
  • Using opacity which changes transparency
  • Using hidden which hides the element
  • Using overflow-hidden which clips content
5. You want a page with a sticky header and footer using Tailwind. The header should stick at top, footer at bottom, and main content scrolls between them. Which code snippet correctly implements this?
hard
A.
Header
\n
Content
\n
Footer
B.
Header
\n
Content
\n
Footer
C.
Header
\n
Content
\n
Footer
D.
Header
\n
Content
\n
Footer

Solution

  1. Step 1: Check header and footer sticky positions

    Header
    \n
    Content
    \n
    Footer
    uses sticky top-0 for header and sticky bottom-0 for footer, which is correct for sticky header and footer.
  2. Step 2: Verify main content scroll area

    Main uses overflow-auto and height calculated as full viewport minus header/footer height, allowing scrolling between sticky elements.
  3. Step 3: Compare other options

    Header
    \n
    Content
    \n
    Footer
    uses fixed positioning which overlays content;
    Header
    \n
    Content
    \n
    Footer
    swaps top and bottom for header/footer incorrectly;
    Header
    \n
    Content
    \n
    Footer
    uses absolute which does not stick on scroll.
  4. Final Answer:

    Option A code snippet correctly implements sticky header and footer with scrollable main content. -> Option A
  5. Quick Check:

    Sticky top-0 + sticky bottom-0 + scrollable main = correct layout [OK]
Hint: Use sticky top-0 and bottom-0 with scrollable main [OK]
Common Mistakes:
  • Using fixed instead of sticky causing overlap
  • Swapping top and bottom classes on header/footer
  • Not setting main content height for scrolling
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