Tailwind UI Pattern Registry for humans and agents

navbar scroll pill morph scroll-timeline glass backdrop-filter landing page sticky navigation hero section with transparent-to-pill nav transition marketing site header that collapses on scroll scroll-event-based navbar requires JavaScript CSS-only scroll-linked morph without layout shift graceful fallback for browsers lacking scroll-timeline

Pill Nav Morph

Fetch snippet JSON: curl https://webspire.de/snippets/scroll/pill-nav-morph.json
Format
Preview
Stage Background
Customize

Quick Start

<nav class="pill-nav fixed top-4 left-1/2 -translate-x-1/2 z-50 px-6 py-3">...</nav>

Details

Tailwind
v4.x
Browser
baseline-2024
A11y
@supports fallback
Size
1243 bytes · 37 lines
Custom Properties
--pill-nav-max-w--pill-nav-radius--pill-nav-bg--pill-nav-border--pill-nav-shadow--pill-nav-blur
Classes
.pill-nav
navbar scroll pill morph scroll-timeline glass backdrop-filter

Uses animation-timeline: scroll(root) with animation-range: 0px 120px so the morphing is precisely tied to the page scroll offset — no JavaScript, no scroll event listeners. The @supports guard wraps the progressive enhancement so older browsers fall back to the fully-morphed pill style immediately.

Basic sticky nav

<nav class="pill-nav fixed top-4 left-1/2 -translate-x-1/2 z-50 flex items-center gap-6 px-6 py-3">
  <a href="/" class="font-bold text-slate-800">Brand</a>
  <a href="#features" class="text-sm text-slate-600 hover:text-slate-900">Features</a>
  <a href="#pricing" class="text-sm text-slate-600 hover:text-slate-900">Pricing</a>
  <a href="#contact" class="ml-auto rounded-full bg-slate-900 px-4 py-1.5 text-sm font-semibold text-white">Get started</a>
</nav>

Dark background variant

<nav class="pill-nav fixed top-4 left-1/2 -translate-x-1/2 z-50 flex items-center gap-6 px-6 py-3"
     style="--pill-nav-bg: rgba(15,15,20,0.85); --pill-nav-border: rgba(255,255,255,0.08)">
  <!-- nav links -->
</nav>