10 / 33
All 33 in 33 Tailwind CSS Card Hover Effects
- 01Tailwind 3D Tilt & Parallax Card with Depth Layers
- 02Tailwind Glowing Gradient & Glassmorphic Border Card
- 03Tailwind Image Zoom Card with Slide-Up Content Reveal
- 04Tailwind 3D Flip Card (Front to Back) with backface-visibility
- 05Tailwind Sibling De-emphasis Pricing Grid with has-hover
- 06Tailwind Minimalist Elevation Card with Layered Dynamic Shadows
- 07Tailwind Elastic Lift Card with Spring Cubic-Bezier
- 08Tailwind Animated Conic Gradient Border Card with @property
- 09Tailwind Stacked Layer Reveal Card (Fanned Risograph Deck)
- 10Tailwind Holographic Foil Shimmer Card with mix-blend-mode
- 11Tailwind Curtain Reveal Card (Parting Velvet Halves)
- 12Tailwind Corner Peel Card with clip-path Triangles
- 13Tailwind Neon Sign Card with Layered Text-Shadow Glow
- 14Tailwind CRT Scanline Terminal Card with Sweeping Beam
- 15Tailwind Depth Parallax Landscape Card with Layer Multipliers
- 16Tailwind Cursor Spotlight Card with Masked Border Highlight
- 17Tailwind 3D Tilt Product Card with Specular Glare
- 18Tailwind Slide-Up Panel Card with Peek Header Swap
- 19Tailwind Credit Card Flip with Magnetic Strip & CVV
- 20Tailwind RGB Channel-Split Glitch Card
- 21Tailwind Rotating Conic Aura Card with Blurred Gradient Bloom
- 22Tailwind Blob-to-Rectangle Border Morph Card
- 23Tailwind Magnetic Float Orb Card with Pointer Attraction
- 24Tailwind Typewriter Reveal Card with Steps Animation & Caret
- 25Tailwind Magazine Overlay Slide Card (Full-Face Panel Takeover)
- 26Tailwind Breathing Film Grain Card with SVG Turbulence Noise
- 27Tailwind Frosted Glass Intensify Card with Deepening Backdrop Blur
- 28Tailwind Blueprint Reveal Card with Circular clip-path Wipe
- 29Tailwind Cursor-Anchored Shockwave Ripple Card
- 30Tailwind Color-Burn Ignition Card with Grayscale-to-Fire Hover
- 31Tailwind Prismatic Light Sweep Card with Screen Blend Bar
- 32Tailwind Book Cover Open Card with Hinged 3D Rotation
- 33Tailwind Drifting Aurora Ribbons Card with Blurred Gradient Bands
Tailwind Holographic Foil Shimmer Card with mix-blend-mode
A collectible trading card with a colour-dodge foil sweep, sparkle grain and a light 3D tilt. mix-blend-mode is a first-class utility here (mix-blend-color-dodge), so the port's only stylesheet residue is the sweep keyframes — exposed back as animate-tch10-sweep.
Untitled UI Pro: 5,000+ React + Tailwind CSS v4 components · from $349 one-time
Untitled UI React · Affiliate link
The code
<section class="tch-10 w-full min-h-svh grid place-items-center bg-tch10-bg font-tch10-sans p-8 [perspective:1200px]">
<article tabindex="0" class="group relative w-[320px] h-[450px] rounded-[18px] overflow-hidden cursor-pointer outline-none transform-3d bg-[linear-gradient(135deg,#14142a,#0c0c1a)] border border-white/8 shadow-[0_12px_30px_rgb(0_0_0/0.5)] transition-[rotate,box-shadow] duration-400 hover:rotate-x-6 hover:-rotate-y-6 hover:shadow-[0_30px_60px_rgb(120_80_255/0.3)] focus-visible:rotate-x-6 focus-visible:-rotate-y-6 focus-visible:outline-3 focus-visible:outline-tch10-cyan focus-visible:outline-offset-4 motion-reduce:transition-none motion-reduce:hover:rotate-x-0 motion-reduce:hover:rotate-y-0">
<div class="absolute inset-0 opacity-0 mix-blend-color-dodge transition-opacity duration-400 bg-[length:250%_250%] bg-[0%_0%] bg-[linear-gradient(115deg,transparent_20%,rgb(255_0_200/0.35)_35%,rgb(0_255_220/0.35)_45%,rgb(255_230_0/0.35)_55%,transparent_70%)] group-hover:opacity-100 group-hover:animate-tch10-sweep group-focus-visible:opacity-100 motion-reduce:group-hover:animate-none"></div>
<div class="absolute inset-0 opacity-0 mix-blend-overlay transition-opacity duration-400 bg-[radial-gradient(rgb(255_255_255/0.4)_0.5px,transparent_0.6px)] bg-[length:7px_7px] group-hover:opacity-50 group-focus-visible:opacity-50"></div>
<div class="relative z-3 h-full p-[2.2rem] flex flex-col justify-between text-tch10-ink [transform:translateZ(40px)]">
<span class="font-tch10-display text-[0.7rem] tracking-[0.3em] text-tch10-cyan">// MYTHIC · 001/250</span>
<div class="mx-auto size-[90px] rounded-full blur-[0.5px] bg-[conic-gradient(#ff00c8,#00ffdc,#ffe600,#ff00c8)] shadow-[0_0_30px_rgb(120_80_255/0.5)]"></div>
<div>
<h2 class="font-tch10-display font-extrabold text-[1.7rem] text-center tracking-[0.05em]">Prism Warden</h2>
<p class="text-[0.95rem] leading-[1.4] text-tch10-body text-center mt-1.5">A foil-stamped collector card that catches light across the full spectrum.</p>
</div>
</div>
</article>
</section><section class="tch-10 w-full min-h-svh grid place-items-center bg-tch10-bg font-tch10-sans p-8 [perspective:1200px]">
<article tabindex="0" class="group relative w-[320px] h-[450px] rounded-[18px] overflow-hidden cursor-pointer outline-none transform-3d bg-[linear-gradient(135deg,#14142a,#0c0c1a)] border border-white/8 shadow-[0_12px_30px_rgb(0_0_0/0.5)] transition-[rotate,box-shadow] duration-400 hover:rotate-x-6 hover:-rotate-y-6 hover:shadow-[0_30px_60px_rgb(120_80_255/0.3)] focus-visible:rotate-x-6 focus-visible:-rotate-y-6 focus-visible:outline-3 focus-visible:outline-tch10-cyan focus-visible:outline-offset-4 motion-reduce:transition-none motion-reduce:hover:rotate-x-0 motion-reduce:hover:rotate-y-0">
<div class="absolute inset-0 opacity-0 mix-blend-color-dodge transition-opacity duration-400 bg-[length:250%_250%] bg-[0%_0%] bg-[linear-gradient(115deg,transparent_20%,rgb(255_0_200/0.35)_35%,rgb(0_255_220/0.35)_45%,rgb(255_230_0/0.35)_55%,transparent_70%)] group-hover:opacity-100 group-hover:animate-tch10-sweep group-focus-visible:opacity-100 motion-reduce:group-hover:animate-none"></div>
<div class="absolute inset-0 opacity-0 mix-blend-overlay transition-opacity duration-400 bg-[radial-gradient(rgb(255_255_255/0.4)_0.5px,transparent_0.6px)] bg-[length:7px_7px] group-hover:opacity-50 group-focus-visible:opacity-50"></div>
<div class="relative z-3 h-full p-[2.2rem] flex flex-col justify-between text-tch10-ink [transform:translateZ(40px)]">
<span class="font-tch10-display text-[0.7rem] tracking-[0.3em] text-tch10-cyan">// MYTHIC · 001/250</span>
<div class="mx-auto size-[90px] rounded-full blur-[0.5px] bg-[conic-gradient(#ff00c8,#00ffdc,#ffe600,#ff00c8)] shadow-[0_0_30px_rgb(120_80_255/0.5)]"></div>
<div>
<h2 class="font-tch10-display font-extrabold text-[1.7rem] text-center tracking-[0.05em]">Prism Warden</h2>
<p class="text-[0.95rem] leading-[1.4] text-tch10-body text-center mt-1.5">A foil-stamped collector card that catches light across the full spectrum.</p>
</div>
</div>
</article>
</section>@import "tailwindcss";
@keyframes tch10-sweep {
0% {
background-position: 0% 0%;
}
100% {
background-position: 200% 200%;
}
}
@theme {
--color-tch10-bg: #0a0a12;
--color-tch10-bg: oklch(0.11 0.015 285);
--color-tch10-ink: #e6e9ff;
--color-tch10-ink: oklch(0.93 0.02 275);
--color-tch10-body: #aaaabb;
--color-tch10-body: oklch(0.74 0.015 285);
--color-tch10-cyan: #66ccff;
--color-tch10-cyan: oklch(0.8 0.12 230);
--font-tch10-sans: 'Rajdhani', system-ui, sans-serif;
--font-tch10-display: 'Orbitron', system-ui, sans-serif;
--animate-tch10-sweep: tch10-sweep 2.5s linear infinite;
}
.tch-10 {
width: 100%;
min-height: 100svh;
}@import "tailwindcss";
@keyframes tch10-sweep {
0% {
background-position: 0% 0%;
}
100% {
background-position: 200% 200%;
}
}
@theme {
--color-tch10-bg: #0a0a12;
--color-tch10-bg: oklch(0.11 0.015 285);
--color-tch10-ink: #e6e9ff;
--color-tch10-ink: oklch(0.93 0.02 275);
--color-tch10-body: #aaaabb;
--color-tch10-body: oklch(0.74 0.015 285);
--color-tch10-cyan: #66ccff;
--color-tch10-cyan: oklch(0.8 0.12 230);
--font-tch10-sans: 'Rajdhani', system-ui, sans-serif;
--font-tch10-display: 'Orbitron', system-ui, sans-serif;
--animate-tch10-sweep: tch10-sweep 2.5s linear infinite;
}
.tch-10 {
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";
@keyframes tch10-sweep {
0% {
background-position: 0% 0%;
}
100% {
background-position: 200% 200%;
}
}
@theme {
--color-tch10-bg: #0a0a12;
--color-tch10-bg: oklch(0.11 0.015 285);
--color-tch10-ink: #e6e9ff;
--color-tch10-ink: oklch(0.93 0.02 275);
--color-tch10-body: #aaaabb;
--color-tch10-body: oklch(0.74 0.015 285);
--color-tch10-cyan: #66ccff;
--color-tch10-cyan: oklch(0.8 0.12 230);
--font-tch10-sans: 'Rajdhani', system-ui, sans-serif;
--font-tch10-display: 'Orbitron', system-ui, sans-serif;
--animate-tch10-sweep: tch10-sweep 2.5s linear infinite;
}
.tch-10 {
width: 100%;
min-height: 100svh;
}@import "tailwindcss";
@keyframes tch10-sweep {
0% {
background-position: 0% 0%;
}
100% {
background-position: 200% 200%;
}
}
@theme {
--color-tch10-bg: #0a0a12;
--color-tch10-bg: oklch(0.11 0.015 285);
--color-tch10-ink: #e6e9ff;
--color-tch10-ink: oklch(0.93 0.02 275);
--color-tch10-body: #aaaabb;
--color-tch10-body: oklch(0.74 0.015 285);
--color-tch10-cyan: #66ccff;
--color-tch10-cyan: oklch(0.8 0.12 230);
--font-tch10-sans: 'Rajdhani', system-ui, sans-serif;
--font-tch10-display: 'Orbitron', system-ui, sans-serif;
--animate-tch10-sweep: tch10-sweep 2.5s linear infinite;
}
.tch-10 {
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=Orbitron:wght@500;800&family=Rajdhani:wght@400;600&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=Orbitron:wght@500;800&family=Rajdhani:wght@400;600&display=swap">What changed in the port
Which parts became utilities, which stayed CSS, and why.
mix-blend-color-dodgeandmix-blend-overlayare real utilities, which is why this demo ports almost entirely into the class list — only the sweep keyframes remain in CSS.- v4's
rotate-x-*/rotate-y-*replace what was an arbitrary[transform:rotateX(6deg)_rotateY(-6deg)]under v3, and they compose withtransition-[rotate]individually. - UI change from the CSS original: focusable card with a visible ring, and the foil + grain respond to
group-focus-visible:so the rarity cue is not pointer-only.
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 Holographic Foil Shimmer Card with mix-blend-mode
Source: https://codefronts.com/motion/tailwind-css-card-hover-effects/tailwind-holographic-foil-shimmer-card/
A collectible trading card with a colour-dodge foil sweep, sparkle grain and a light 3D tilt. mix-blend-mode is a first-class utility here (mix-blend-color-dodge), so the port's only stylesheet residue is the sweep keyframes — exposed back as animate-tch10-sweep.
## HTML
```html
<section class="tch-10 w-full min-h-svh grid place-items-center bg-tch10-bg font-tch10-sans p-8 [perspective:1200px]">
<article tabindex="0" class="group relative w-[320px] h-[450px] rounded-[18px] overflow-hidden cursor-pointer outline-none transform-3d bg-[linear-gradient(135deg,#14142a,#0c0c1a)] border border-white/8 shadow-[0_12px_30px_rgb(0_0_0/0.5)] transition-[rotate,box-shadow] duration-400 hover:rotate-x-6 hover:-rotate-y-6 hover:shadow-[0_30px_60px_rgb(120_80_255/0.3)] focus-visible:rotate-x-6 focus-visible:-rotate-y-6 focus-visible:outline-3 focus-visible:outline-tch10-cyan focus-visible:outline-offset-4 motion-reduce:transition-none motion-reduce:hover:rotate-x-0 motion-reduce:hover:rotate-y-0">
<div class="absolute inset-0 opacity-0 mix-blend-color-dodge transition-opacity duration-400 bg-[length:250%_250%] bg-[0%_0%] bg-[linear-gradient(115deg,transparent_20%,rgb(255_0_200/0.35)_35%,rgb(0_255_220/0.35)_45%,rgb(255_230_0/0.35)_55%,transparent_70%)] group-hover:opacity-100 group-hover:animate-tch10-sweep group-focus-visible:opacity-100 motion-reduce:group-hover:animate-none"></div>
<div class="absolute inset-0 opacity-0 mix-blend-overlay transition-opacity duration-400 bg-[radial-gradient(rgb(255_255_255/0.4)_0.5px,transparent_0.6px)] bg-[length:7px_7px] group-hover:opacity-50 group-focus-visible:opacity-50"></div>
<div class="relative z-3 h-full p-[2.2rem] flex flex-col justify-between text-tch10-ink [transform:translateZ(40px)]">
<span class="font-tch10-display text-[0.7rem] tracking-[0.3em] text-tch10-cyan">// MYTHIC · 001/250</span>
<div class="mx-auto size-[90px] rounded-full blur-[0.5px] bg-[conic-gradient(#ff00c8,#00ffdc,#ffe600,#ff00c8)] shadow-[0_0_30px_rgb(120_80_255/0.5)]"></div>
<div>
<h2 class="font-tch10-display font-extrabold text-[1.7rem] text-center tracking-[0.05em]">Prism Warden</h2>
<p class="text-[0.95rem] leading-[1.4] text-tch10-body text-center mt-1.5">A foil-stamped collector card that catches light across the full spectrum.</p>
</div>
</div>
</article>
</section>
```
## CSS
```css
@import "tailwindcss";
@keyframes tch10-sweep {
0% {
background-position: 0% 0%;
}
100% {
background-position: 200% 200%;
}
}
@theme {
--color-tch10-bg: #0a0a12;
--color-tch10-bg: oklch(0.11 0.015 285);
--color-tch10-ink: #e6e9ff;
--color-tch10-ink: oklch(0.93 0.02 275);
--color-tch10-body: #aaaabb;
--color-tch10-body: oklch(0.74 0.015 285);
--color-tch10-cyan: #66ccff;
--color-tch10-cyan: oklch(0.8 0.12 230);
--font-tch10-sans: 'Rajdhani', system-ui, sans-serif;
--font-tch10-display: 'Orbitron', system-ui, sans-serif;
--animate-tch10-sweep: tch10-sweep 2.5s linear infinite;
}
.tch-10 {
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 Holographic Foil Shimmer Card with mix-blend-mode
Source: https://codefronts.com/motion/tailwind-css-card-hover-effects/tailwind-holographic-foil-shimmer-card/
A collectible trading card with a colour-dodge foil sweep, sparkle grain and a light 3D tilt. mix-blend-mode is a first-class utility here (mix-blend-color-dodge), so the port's only stylesheet residue is the sweep keyframes — exposed back as animate-tch10-sweep.
## HTML
```html
<section class="tch-10 w-full min-h-svh grid place-items-center bg-tch10-bg font-tch10-sans p-8 [perspective:1200px]">
<article tabindex="0" class="group relative w-[320px] h-[450px] rounded-[18px] overflow-hidden cursor-pointer outline-none transform-3d bg-[linear-gradient(135deg,#14142a,#0c0c1a)] border border-white/8 shadow-[0_12px_30px_rgb(0_0_0/0.5)] transition-[rotate,box-shadow] duration-400 hover:rotate-x-6 hover:-rotate-y-6 hover:shadow-[0_30px_60px_rgb(120_80_255/0.3)] focus-visible:rotate-x-6 focus-visible:-rotate-y-6 focus-visible:outline-3 focus-visible:outline-tch10-cyan focus-visible:outline-offset-4 motion-reduce:transition-none motion-reduce:hover:rotate-x-0 motion-reduce:hover:rotate-y-0">
<div class="absolute inset-0 opacity-0 mix-blend-color-dodge transition-opacity duration-400 bg-[length:250%_250%] bg-[0%_0%] bg-[linear-gradient(115deg,transparent_20%,rgb(255_0_200/0.35)_35%,rgb(0_255_220/0.35)_45%,rgb(255_230_0/0.35)_55%,transparent_70%)] group-hover:opacity-100 group-hover:animate-tch10-sweep group-focus-visible:opacity-100 motion-reduce:group-hover:animate-none"></div>
<div class="absolute inset-0 opacity-0 mix-blend-overlay transition-opacity duration-400 bg-[radial-gradient(rgb(255_255_255/0.4)_0.5px,transparent_0.6px)] bg-[length:7px_7px] group-hover:opacity-50 group-focus-visible:opacity-50"></div>
<div class="relative z-3 h-full p-[2.2rem] flex flex-col justify-between text-tch10-ink [transform:translateZ(40px)]">
<span class="font-tch10-display text-[0.7rem] tracking-[0.3em] text-tch10-cyan">// MYTHIC · 001/250</span>
<div class="mx-auto size-[90px] rounded-full blur-[0.5px] bg-[conic-gradient(#ff00c8,#00ffdc,#ffe600,#ff00c8)] shadow-[0_0_30px_rgb(120_80_255/0.5)]"></div>
<div>
<h2 class="font-tch10-display font-extrabold text-[1.7rem] text-center tracking-[0.05em]">Prism Warden</h2>
<p class="text-[0.95rem] leading-[1.4] text-tch10-body text-center mt-1.5">A foil-stamped collector card that catches light across the full spectrum.</p>
</div>
</div>
</article>
</section>
```
## CSS
```css
@import "tailwindcss";
@keyframes tch10-sweep {
0% {
background-position: 0% 0%;
}
100% {
background-position: 200% 200%;
}
}
@theme {
--color-tch10-bg: #0a0a12;
--color-tch10-bg: oklch(0.11 0.015 285);
--color-tch10-ink: #e6e9ff;
--color-tch10-ink: oklch(0.93 0.02 275);
--color-tch10-body: #aaaabb;
--color-tch10-body: oklch(0.74 0.015 285);
--color-tch10-cyan: #66ccff;
--color-tch10-cyan: oklch(0.8 0.12 230);
--font-tch10-sans: 'Rajdhani', system-ui, sans-serif;
--font-tch10-display: 'Orbitron', system-ui, sans-serif;
--animate-tch10-sweep: tch10-sweep 2.5s linear infinite;
}
.tch-10 {
width: 100%;
min-height: 100svh;
}
```How this works
Iridescence is a blend mode, not a colour. The foil layer is a fixed multi-stop gradient; mix-blend-color-dodge is what makes it read as reflected light rather than a pink overlay. Change the blend and the same gradient becomes a different material — overlay is punchy, soft-light is subtle, screen is a lighter foil.
The sweep animates position, not the gradient. The gradient is sized to 250% of the card and its background-position travels from 0% 0% to 200% 200%. Nothing repaints geometry, so the sweep is cheap.
The tilt is now utilities. v4's rotate-x-* and rotate-y-* mean the card's 6° lean needs no brackets; only the stage's perspective and the content's translateZ stay arbitrary.
Make it yours
- Blend mode is the material dial — try
mix-blend-soft-lightfor brushed foil. - Sweep speed lives in
--animate-tch10-sweep; 2.5s is a slow catch of light, 1s is a strobe. - Grain density is the
bg-[length:7px_7px]value on the sparkle layer.
Gotchas — read before shipping
mix-blend-modeneeds something to blend with — on a transparent parent the foil reads flat. The card's own gradient face is that something.- Keep foil opacity under ~0.6 at peak or the title stops meeting contrast against its own card.
- The rotation and the blend both composite, but an iridescent gradient on OLED can vibrate — the grain layer exists partly to break that up.
motion-reduce:freezes the sweep and keeps the foil visible at its initial position, so the card still looks like foil.
Browser support
| Chrome | Safari | Firefox | Edge |
|---|---|---|---|
| 111+ | 16.4+ | 128+ | 111+ |
mix-blend-mode and 3D transforms are Baseline; the animated sweep needs only standard keyframes. The floor is Tailwind v4's sheet.