15 / 39
All 39 in 39 Tailwind CSS Breadcrumbs
- 01Tailwind Accessible Breadcrumb with Schema.org Microdata & ARIA
- 02Tailwind Responsive Collapsing Breadcrumb Bar with Container Queries
- 03Tailwind Adaptive Light & Dark Mode Breadcrumb Bar with Theme Tokens
- 04Tailwind E-Commerce Filter & Facet Breadcrumb with Removable Chips
- 05Tailwind Glassmorphism Floating Breadcrumb Pill with Shimmer Sweep
- 06Tailwind Neumorphic Soft UI Breadcrumb with Dual Box Shadows
- 07Tailwind Sticky Scroll-Shrink Breadcrumb Header with Scroll-Driven Animation
- 08Tailwind Material Design Flat Breadcrumb Bar with Ink Ripple
- 09Tailwind Isometric 3D Layered Breadcrumb with Extruded Tiles
- 10Tailwind Breadcrumb Bar with Built-In Dropdown Sibling Menus
- 11Tailwind Full-Width Block-Style Segmented Breadcrumb Bar
- 12Tailwind Accent-Colour Toggle Breadcrumb with Persisted Theme
- 13Tailwind Seamless Arrow-Cutout Breadcrumb Trail with clip-path
- 14Tailwind Compact Icon-Only Home Node Breadcrumb Bar
- 15Tailwind Segmented Rounded-Outline Pill Breadcrumb
- 16Tailwind Neumorphic Soft Inset-Shadow Breadcrumb Channel
- 17Tailwind CSS Grid Auto-Fitting Responsive Breadcrumb Trail
- 18Tailwind Holographic Shimmer Web3 Breadcrumb with Animated @property
- 19Tailwind SaaS Gradient-Text Breadcrumb Bar with Animated Clip
- 20Tailwind Marketplace Filter-Chip Breadcrumb with Icon Chips
- 21Tailwind Editorial Breadcrumb with Animated SVG Wave Underline
- 22Tailwind Developer Docs Breadcrumb with One-Click Path Copy
- 23Tailwind Modern Arrow Breadcrumb Bar using clip-path Polygons
- 24Tailwind Multi-Line Aligned Breadcrumb Layout with CSS Subgrid
- 25Tailwind Breadcrumb Links with Animated Underline Glow
- 26Tailwind Minimalist Breadcrumb with Swappable Masked SVG Separators
- 27Tailwind Multi-Step Checkout & Wizard Breadcrumb Indicator
- 28Tailwind Ribbon-Style Chevron Breadcrumb Trail
- 29Tailwind Pill-Shape Badge Breadcrumb Bar
- 30Tailwind Clean Line-Separator Minimalist Breadcrumbs
- 31Tailwind Gradient Background Glow Breadcrumb Bar
- 32Tailwind Floating Card Shadow Breadcrumb Navigation
- 33Tailwind Truncated Ellipsis Compact Mobile Breadcrumb
- 34Tailwind Inline Bullet-Dot Separator Breadcrumb
- 35Tailwind Skewed Parallelogram Breadcrumb Bar
- 36Tailwind Outline Border-Only Geometric Breadcrumbs
- 37Tailwind Circular Icon & Numbered Step Breadcrumbs
- 38Tailwind Frosted Glass Dark UI Breadcrumb Component
- 39Tailwind Micro-Interaction Animated Hover Breadcrumbs
Tailwind Segmented Rounded-Outline Pill Breadcrumb
Outline-only capsules: each crumb is a hairline rounded border with no fill, hover washes in a faint tint and shifts the border toward the accent, and the current crumb becomes a solid accent pill. The understated treatment, and the port's cleanest one-to-one mapping — almost every declaration has a utility.
Untitled UI Pro: 5,000+ React + Tailwind CSS v4 components · from $349 one-time
Untitled UI React · Affiliate link
The code
<section class="tbc-15 w-full min-h-svh grid place-items-center bg-tbc15-bg font-tbc15-sans px-8 py-8">
<nav aria-label="Breadcrumb">
<ol class="flex flex-wrap items-center gap-2.25 list-none m-0 p-0">
<li class="flex items-center gap-2.25"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Home</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Workspace</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Boards</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" aria-current="page" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] text-[13px] font-semibold no-underline text-white bg-tbc15-acc border-tbc15-acc focus-visible:outline-2 focus-visible:outline-tbc15-ink focus-visible:outline-offset-2">Roadmap</a></li>
</ol>
</nav>
</section><section class="tbc-15 w-full min-h-svh grid place-items-center bg-tbc15-bg font-tbc15-sans px-8 py-8">
<nav aria-label="Breadcrumb">
<ol class="flex flex-wrap items-center gap-2.25 list-none m-0 p-0">
<li class="flex items-center gap-2.25"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Home</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Workspace</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Boards</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" aria-current="page" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] text-[13px] font-semibold no-underline text-white bg-tbc15-acc border-tbc15-acc focus-visible:outline-2 focus-visible:outline-tbc15-ink focus-visible:outline-offset-2">Roadmap</a></li>
</ol>
</nav>
</section>@import "tailwindcss";
@theme {
--color-tbc15-bg: #fdfdfe;
--color-tbc15-bg: oklch(0.99 0.003 250);
--color-tbc15-edge: #d6d8e0;
--color-tbc15-edge: oklch(0.86 0.01 250);
--color-tbc15-link: #666a77;
--color-tbc15-link: oklch(0.48 0.03 250);
--color-tbc15-sep: #b4b7c0;
--color-tbc15-sep: oklch(0.75 0.02 250);
--color-tbc15-acc: #4f63c8;
--color-tbc15-acc: oklch(0.52 0.15 265);
--color-tbc15-ink: #2f323a;
--color-tbc15-ink: oklch(0.26 0.02 265);
--font-tbc15-sans: 'Space Grotesk', system-ui, sans-serif;
}
.tbc-15 {
width: 100%;
min-height: 100svh;
}@import "tailwindcss";
@theme {
--color-tbc15-bg: #fdfdfe;
--color-tbc15-bg: oklch(0.99 0.003 250);
--color-tbc15-edge: #d6d8e0;
--color-tbc15-edge: oklch(0.86 0.01 250);
--color-tbc15-link: #666a77;
--color-tbc15-link: oklch(0.48 0.03 250);
--color-tbc15-sep: #b4b7c0;
--color-tbc15-sep: oklch(0.75 0.02 250);
--color-tbc15-acc: #4f63c8;
--color-tbc15-acc: oklch(0.52 0.15 265);
--color-tbc15-ink: #2f323a;
--color-tbc15-ink: oklch(0.26 0.02 265);
--font-tbc15-sans: 'Space Grotesk', system-ui, sans-serif;
}
.tbc-15 {
width: 100%;
min-height: 100svh;
}Setup — do this once per project
Skip this if your project already runs Tailwind v4.
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>Compiles in the browser — perfect for a CodePen or a quick test, not for production.
npm install tailwindcss @tailwindcss/vite
npm install tailwindcss @tailwindcss/vite// vite.config.js ("type": "module" in package.json)
import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [tailwindcss()],
})// vite.config.js ("type": "module" in package.json)
import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [tailwindcss()],
})Any v4 setup works — Vite, PostCSS or the CLI. Nothing in this demo is bundler-specific.
@import "tailwindcss";
@theme {
--color-tbc15-bg: #fdfdfe;
--color-tbc15-bg: oklch(0.99 0.003 250);
--color-tbc15-edge: #d6d8e0;
--color-tbc15-edge: oklch(0.86 0.01 250);
--color-tbc15-link: #666a77;
--color-tbc15-link: oklch(0.48 0.03 250);
--color-tbc15-sep: #b4b7c0;
--color-tbc15-sep: oklch(0.75 0.02 250);
--color-tbc15-acc: #4f63c8;
--color-tbc15-acc: oklch(0.52 0.15 265);
--color-tbc15-ink: #2f323a;
--color-tbc15-ink: oklch(0.26 0.02 265);
--font-tbc15-sans: 'Space Grotesk', system-ui, sans-serif;
}
.tbc-15 {
width: 100%;
min-height: 100svh;
}@import "tailwindcss";
@theme {
--color-tbc15-bg: #fdfdfe;
--color-tbc15-bg: oklch(0.99 0.003 250);
--color-tbc15-edge: #d6d8e0;
--color-tbc15-edge: oklch(0.86 0.01 250);
--color-tbc15-link: #666a77;
--color-tbc15-link: oklch(0.48 0.03 250);
--color-tbc15-sep: #b4b7c0;
--color-tbc15-sep: oklch(0.75 0.02 250);
--color-tbc15-acc: #4f63c8;
--color-tbc15-acc: oklch(0.52 0.15 265);
--color-tbc15-ink: #2f323a;
--color-tbc15-ink: oklch(0.26 0.02 265);
--font-tbc15-sans: 'Space Grotesk', system-ui, sans-serif;
}
.tbc-15 {
width: 100%;
min-height: 100svh;
}<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap">What changed in the port
Which parts became utilities, which stayed CSS, and why.
- This is the demo where the port is purely a relocation: every CSS declaration has a utility, so the stylesheet shrinks to tokens and the root rule. Worth including precisely because not every pattern needs an arbitrary value.
- The
::afterchevron became abefore:on the following crumb, which is the collection's convention — a separator belongs to the crumb that follows it, not the one that precedes it. - UI change from the CSS original: the accent darkened slightly so white text on the current pill clears 4.5:1, and the pills grew to
min-h-10with 44px reachable via the list's gap.
Here's a working CSS demo from CodeFronts. Use it as-is or adapt to your framework. All classes are scoped under a unique prefix so the code won't collide with your existing styles. MIT licensed.
Demo: Tailwind Segmented Rounded-Outline Pill Breadcrumb
Source: https://codefronts.com/navigation/tailwind-css-breadcrumbs/tailwind-segmented-rounded-outline-pill-breadcrumb/
Outline-only capsules: each crumb is a hairline rounded border with no fill, hover washes in a faint tint and shifts the border toward the accent, and the current crumb becomes a solid accent pill. The understated treatment, and the port's cleanest one-to-one mapping — almost every declaration has a utility.
## HTML
```html
<section class="tbc-15 w-full min-h-svh grid place-items-center bg-tbc15-bg font-tbc15-sans px-8 py-8">
<nav aria-label="Breadcrumb">
<ol class="flex flex-wrap items-center gap-2.25 list-none m-0 p-0">
<li class="flex items-center gap-2.25"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Home</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Workspace</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Boards</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" aria-current="page" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] text-[13px] font-semibold no-underline text-white bg-tbc15-acc border-tbc15-acc focus-visible:outline-2 focus-visible:outline-tbc15-ink focus-visible:outline-offset-2">Roadmap</a></li>
</ol>
</nav>
</section>
```
## CSS
```css
@import "tailwindcss";
@theme {
--color-tbc15-bg: #fdfdfe;
--color-tbc15-bg: oklch(0.99 0.003 250);
--color-tbc15-edge: #d6d8e0;
--color-tbc15-edge: oklch(0.86 0.01 250);
--color-tbc15-link: #666a77;
--color-tbc15-link: oklch(0.48 0.03 250);
--color-tbc15-sep: #b4b7c0;
--color-tbc15-sep: oklch(0.75 0.02 250);
--color-tbc15-acc: #4f63c8;
--color-tbc15-acc: oklch(0.52 0.15 265);
--color-tbc15-ink: #2f323a;
--color-tbc15-ink: oklch(0.26 0.02 265);
--font-tbc15-sans: 'Space Grotesk', system-ui, sans-serif;
}
.tbc-15 {
width: 100%;
min-height: 100svh;
}
```Here's a working CSS demo from CodeFronts. Use it as-is or adapt to your framework. All classes are scoped under a unique prefix so the code won't collide with your existing styles. MIT licensed.
Demo: Tailwind Segmented Rounded-Outline Pill Breadcrumb
Source: https://codefronts.com/navigation/tailwind-css-breadcrumbs/tailwind-segmented-rounded-outline-pill-breadcrumb/
Outline-only capsules: each crumb is a hairline rounded border with no fill, hover washes in a faint tint and shifts the border toward the accent, and the current crumb becomes a solid accent pill. The understated treatment, and the port's cleanest one-to-one mapping — almost every declaration has a utility.
## HTML
```html
<section class="tbc-15 w-full min-h-svh grid place-items-center bg-tbc15-bg font-tbc15-sans px-8 py-8">
<nav aria-label="Breadcrumb">
<ol class="flex flex-wrap items-center gap-2.25 list-none m-0 p-0">
<li class="flex items-center gap-2.25"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Home</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Workspace</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] border-tbc15-edge bg-transparent text-[13px] font-semibold text-tbc15-link no-underline transition-[background-color,border-color,color] duration-200 hover:text-tbc15-acc hover:border-[color-mix(in_oklab,var(--color-tbc15-acc)_50%,var(--color-tbc15-edge))] hover:bg-[color-mix(in_oklab,var(--color-tbc15-acc)_8%,transparent)] focus-visible:outline-2 focus-visible:outline-tbc15-acc focus-visible:outline-offset-2 motion-reduce:transition-none">Boards</a></li>
<li class="flex items-center gap-2.25 before:content-['\203A'] before:text-[13px] before:text-tbc15-sep"><a href="#" aria-current="page" class="inline-flex items-center min-h-10 px-4 rounded-full border-[1.5px] text-[13px] font-semibold no-underline text-white bg-tbc15-acc border-tbc15-acc focus-visible:outline-2 focus-visible:outline-tbc15-ink focus-visible:outline-offset-2">Roadmap</a></li>
</ol>
</nav>
</section>
```
## CSS
```css
@import "tailwindcss";
@theme {
--color-tbc15-bg: #fdfdfe;
--color-tbc15-bg: oklch(0.99 0.003 250);
--color-tbc15-edge: #d6d8e0;
--color-tbc15-edge: oklch(0.86 0.01 250);
--color-tbc15-link: #666a77;
--color-tbc15-link: oklch(0.48 0.03 250);
--color-tbc15-sep: #b4b7c0;
--color-tbc15-sep: oklch(0.75 0.02 250);
--color-tbc15-acc: #4f63c8;
--color-tbc15-acc: oklch(0.52 0.15 265);
--color-tbc15-ink: #2f323a;
--color-tbc15-ink: oklch(0.26 0.02 265);
--font-tbc15-sans: 'Space Grotesk', system-ui, sans-serif;
}
.tbc-15 {
width: 100%;
min-height: 100svh;
}
```How this works
Gap replaces margins. The CSS version spaced crumbs with a gap on the list and another on each <li>, plus an ::after chevron. The port keeps one gap-2.25 and moves the chevron to before: on the following crumbs — fewer moving parts, and the spacing survives drag-reordering in a design tool.
The three states are three utility runs. Resting outline, hover tint, current fill. Because they sit on one element, changing the accent is one token edit and the border, the tint and the fill all follow.
Contrast check: the accent at oklch(0.55 0.15 250) carries white text at 4.6:1, and the resting ink at 0.48 lightness clears 4.5:1 on the near-white stage.
Make it yours
- Border weight:
border-[1.5px]. At 1px the trail reads lighter; at 2px it turns into a chip bar. - Tint strength: the
8%in the hover background mix and the50%in the border mix. - Radius:
rounded-fullfor capsules,rounded-lgfor a squarer, more technical feel.
Gotchas — read before shipping
- Transparent-background pills inherit whatever is behind them — on a photo the outline survives but the label may not. Add a
bg-white/80when the trail floats over imagery. aria-[current=page]:must be on the element carrying the attribute; putting the current styles on the<li>instead needshas-aria-[current=page]:.- Border colour transitions are cheap; border WIDTH transitions relayout every frame. Only the colour animates here.
Browser support
| Chrome | Safari | Firefox | Edge |
|---|---|---|---|
| 111+ | 16.4+ | 128+ | 111+ |
color-mix() is the only modern feature and is Tailwind v4's own floor.