Section
Feature Grid — Sharp Glassmorphism
Frosted-glass marketing feature grid floating over a vibrant animated gradient mesh. Translucent layered cards with luminous edge highlights, glowing gradient icon chips, a highlighted featured card with a gradient tint and cyan glow badge, lift-on-hover interaction, and a staggered IntersectionObserver entrance that respects prefers-reduced-motion.
- Section
- Tailwind
- HTML
- MIT
Preview
Live section
9:41 100%
devsnips.dev/library/tailwind/sections/marketing/feature-grid/sharp-glassmorphism/ fluid · no fixed width 100%
Install
Add to your project
npx devsnips add Tailwind/Sections/Marketing/feature-grid/sharp-glassmorphism Tailwind/Sections/Marketing/feature-grid/sharp-glassmorphism <!--
Snippet Name: Feature Grid — Sharp Glassmorphism
Description: Frosted-glass marketing feature grid over a vibrant animated gradient mesh, with luminous edge highlights, glowing gradient icon chips, and a highlighted featured card.
Author: DevSnips Contributors
Usage Example: Drop into a vivid app shell to showcase product capabilities. Requires a colored backdrop behind the section for the glass to read. Staggered entrance + reduced-motion guard are wired.
-->
<section class="relative w-full overflow-hidden text-white" data-featuregrid="sg">
<!-- Animated gradient mesh backdrop (parent must supply a colored bg; this provides one too) -->
<div class="sg-mesh absolute inset-0 -z-10" aria-hidden="true"></div>
<div class="relative mx-auto max-w-6xl px-6 py-16 sm:py-20 lg:py-24">
<!-- Heading -->
<div class="fg-step max-w-xl">
<p class="sg-mono mb-4 inline-flex items-center gap-2 rounded-full border border-white/20 bg-white/10 px-3 py-1 text-[11px] text-white/80 backdrop-blur">
<span class="sg-dot"></span> Marketing / Features
</p>
<h2 class="font-sora text-4xl font-bold leading-[1.05] tracking-tight sm:text-5xl">
Everything you need<br>
<span class="bg-gradient-to-r from-fuchsia-300 via-white to-cyan-200 bg-clip-text text-transparent">to ship faster.</span>
</h2>
<p class="mt-4 max-w-md font-sora text-[15px] leading-relaxed text-white/70">
Six building blocks that take you from blank canvas to deployed landing page — no design system wrangling required.
</p>
</div>
<!-- Feature cards -->
<ul class="mt-12 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3" role="list">
<!-- 1 -->
<li class="fg-step">
<article class="group relative h-full overflow-hidden rounded-2xl border border-white/20 bg-white/10 p-6 backdrop-blur-2xl transition-transform duration-200 hover:-translate-y-1 focus-within:-translate-y-1">
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/50 to-transparent" aria-hidden="true"></div>
<div class="sg-glow flex h-11 w-11 items-center justify-center rounded-xl border border-white/30 bg-white/20 text-white backdrop-blur transition-transform duration-200 group-hover:scale-105">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M13 2 3 14h7l-1 8 10-12h-7l1-8z" /></svg>
</div>
<h3 class="mt-5 font-sora text-[17px] font-semibold tracking-tight text-white">Instant Copy</h3>
<p class="mt-2 font-sora text-[14px] leading-relaxed text-white/75">Grab any section as a standalone snippet. Zero dependencies, zero build step, zero lock-in.</p>
<a href="#" class="sg-mono mt-4 inline-flex items-center gap-1 text-[11px] text-white/80 transition-colors hover:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white/60">Learn more <span aria-hidden="true">→</span></a>
</article>
</li>
<!-- 2 -->
<li class="fg-step">
<article class="group relative h-full overflow-hidden rounded-2xl border border-white/20 bg-white/10 p-6 backdrop-blur-2xl transition-transform duration-200 hover:-translate-y-1 focus-within:-translate-y-1">
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/50 to-transparent" aria-hidden="true"></div>
<div class="sg-glow flex h-11 w-11 items-center justify-center rounded-xl border border-white/30 bg-white/20 text-white backdrop-blur transition-transform duration-200 group-hover:scale-105">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><rect x="3" y="4" width="18" height="14" rx="0" /><path d="M3 9h18M8 4v5" /></svg>
</div>
<h3 class="mt-5 font-sora text-[17px] font-semibold tracking-tight text-white">Three Styles</h3>
<p class="mt-2 font-sora text-[14px] leading-relaxed text-white/75">Brutalist, Vercel-dark, or frosted glass. One component, three distinct looks from shared tokens.</p>
<a href="#" class="sg-mono mt-4 inline-flex items-center gap-1 text-[11px] text-white/80 transition-colors hover:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white/60">Learn more <span aria-hidden="true">→</span></a>
</article>
</li>
<!-- 3 — Featured -->
<li class="fg-step">
<article class="group relative h-full overflow-hidden rounded-2xl border border-white/30 bg-gradient-to-br from-fuchsia-500/30 to-indigo-500/30 p-6 backdrop-blur-2xl transition-transform duration-200 hover:-translate-y-1 focus-within:-translate-y-1" aria-label="Featured feature">
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/60 to-transparent" aria-hidden="true"></div>
<span class="sg-mono absolute right-4 top-4 inline-flex items-center gap-1.5 rounded-full border border-white/30 bg-white/20 px-2 py-0.5 text-[10px] text-white backdrop-blur"><span class="sg-dot"></span> New</span>
<div class="sg-glow flex h-11 w-11 items-center justify-center rounded-xl border border-white/30 bg-gradient-to-br from-fuchsia-500/50 to-indigo-500/50 text-white backdrop-blur transition-transform duration-200 group-hover:scale-105">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 17V9a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8" /><path d="M4 13h16" /><circle cx="8" cy="20" r="1.4" fill="currentColor" stroke="none" /><circle cx="16" cy="20" r="1.4" fill="currentColor" stroke="none" /></svg>
</div>
<h3 class="mt-5 font-sora text-[17px] font-semibold tracking-tight text-white">AI Tailwindgen</h3>
<p class="mt-2 font-sora text-[14px] leading-relaxed text-white/85">Describe a section, get production-ready markup tuned to your chosen style. Edit by hand anytime.</p>
<a href="#" class="sg-mono mt-4 inline-flex items-center gap-1 text-[11px] font-medium text-white transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-white/60">Learn more <span aria-hidden="true">→</span></a>
</article>
</li>
<!-- 4 -->
<li class="fg-step">
<article class="group relative h-full overflow-hidden rounded-2xl border border-white/20 bg-white/10 p-6 backdrop-blur-2xl transition-transform duration-200 hover:-translate-y-1 focus-within:-translate-y-1">
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/50 to-transparent" aria-hidden="true"></div>
<div class="sg-glow flex h-11 w-11 items-center justify-center rounded-xl border border-white/30 bg-white/20 text-white backdrop-blur transition-transform duration-200 group-hover:scale-105">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M12 3a9 9 0 1 0 9 9" /><path d="M12 3v9l6 3" /></svg>
</div>
<h3 class="mt-5 font-sora text-[17px] font-semibold tracking-tight text-white">Real Perf</h3>
<p class="mt-2 font-sora text-[14px] leading-relaxed text-white/75">No runtime CSS, no JS framework. Just HTML, Tailwind, and a few lines of vanilla script.</p>
<a href="#" class="sg-mono mt-4 inline-flex items-center gap-1 text-[11px] text-white/80 transition-colors hover:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white/60">Learn more <span aria-hidden="true">→</span></a>
</article>
</li>
<!-- 5 -->
<li class="fg-step">
<article class="group relative h-full overflow-hidden rounded-2xl border border-white/20 bg-white/10 p-6 backdrop-blur-2xl transition-transform duration-200 hover:-translate-y-1 focus-within:-translate-y-1">
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/50 to-transparent" aria-hidden="true"></div>
<div class="sg-glow flex h-11 w-11 items-center justify-center rounded-xl border border-white/30 bg-white/20 text-white backdrop-blur transition-transform duration-200 group-hover:scale-105">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="9" /><path d="M9 12l2 2 4-4" /></svg>
</div>
<h3 class="mt-5 font-sora text-[17px] font-semibold tracking-tight text-white">A11y First</h3>
<p class="mt-2 font-sora text-[14px] leading-relaxed text-white/75">Semantic landmarks, ARIA where needed, visible focus rings, and full keyboard support out of the box.</p>
<a href="#" class="sg-mono mt-4 inline-flex items-center gap-1 text-[11px] text-white/80 transition-colors hover:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white/60">Learn more <span aria-hidden="true">→</span></a>
</article>
</li>
<!-- 6 -->
<li class="fg-step">
<article class="group relative h-full overflow-hidden rounded-2xl border border-white/20 bg-white/10 p-6 backdrop-blur-2xl transition-transform duration-200 hover:-translate-y-1 focus-within:-translate-y-1">
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/50 to-transparent" aria-hidden="true"></div>
<div class="sg-glow flex h-11 w-11 items-center justify-center rounded-xl border border-white/30 bg-white/20 text-white backdrop-blur transition-transform duration-200 group-hover:scale-105">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M4 6h16M4 12h16M4 18h10" /></svg>
</div>
<h3 class="mt-5 font-sora text-[17px] font-semibold tracking-tight text-white">Responsive</h3>
<p class="mt-2 font-sora text-[14px] leading-relaxed text-white/75">Mobile-first grids that stack to one column and scale cleanly to wide desktops. No layout jank.</p>
<a href="#" class="sg-mono mt-4 inline-flex items-center gap-1 text-[11px] text-white/80 transition-colors hover:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white/60">Learn more <span aria-hidden="true">→</span></a>
</article>
</li>
</ul>
</div>
<style>
[data-featuregrid="sg"] .sg-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }
[data-featuregrid="sg"] .font-sora { font-family: 'Sora', sans-serif; }
[data-featuregrid="sg"] .sg-dot { display: inline-block; height: 6px; width: 6px; border-radius: 9999px; background: #6ee7ff; box-shadow: 0 0 8px #6ee7ff; }
[data-featuregrid="sg"] .sg-glow { box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 4px 20px -4px rgba(168,85,247,0.5); }
[data-featuregrid="sg"] .sg-mesh {
background:
radial-gradient(at 18% 18%, rgba(236,72,153,0.55) 0px, transparent 50%),
radial-gradient(at 82% 12%, rgba(99,102,241,0.55) 0px, transparent 50%),
radial-gradient(at 75% 78%, rgba(34,211,238,0.45) 0px, transparent 50%),
radial-gradient(at 22% 82%, rgba(168,85,247,0.5) 0px, transparent 50%),
#0b0a1f;
background-size: 180% 180%;
animation: sg-pan 18s ease-in-out infinite alternate;
}
@keyframes sg-pan { 0% { background-position: 0% 0%; } 100% { background-position: 100% 100%; } }
[data-featuregrid="sg"] .fg-step { opacity: 0; transform: translateY(14px); }
[data-featuregrid="sg"].fg-ready .fg-step { animation: sg-rise 0.55s cubic-bezier(.2,.7,.2,1) forwards; }
[data-featuregrid="sg"].fg-ready .fg-step:nth-child(1) { animation-delay: 0.05s; }
[data-featuregrid="sg"].fg-ready .fg-step:nth-child(2) { animation-delay: 0.13s; }
[data-featuregrid="sg"].fg-ready .fg-step:nth-child(3) { animation-delay: 0.21s; }
[data-featuregrid="sg"].fg-ready .fg-step:nth-child(4) { animation-delay: 0.29s; }
[data-featuregrid="sg"].fg-ready .fg-step:nth-child(5) { animation-delay: 0.37s; }
[data-featuregrid="sg"].fg-ready .fg-step:nth-child(6) { animation-delay: 0.45s; }
@keyframes sg-rise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
[data-featuregrid="sg"] .sg-mesh { animation: none !important; }
[data-featuregrid="sg"] .fg-step { animation: none !important; opacity: 1 !important; transform: none !important; }
}
</style>
<script>
(function () {
var root = document.currentScript.closest('[data-featuregrid="sg"]');
if (!root) return;
var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
if (reduce) { root.classList.add('fg-ready'); return; }
if ('IntersectionObserver' in window) {
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) { root.classList.add('fg-ready'); io.disconnect(); }
});
}, { threshold: 0.15 });
io.observe(root);
} else {
requestAnimationFrame(function () { root.classList.add('fg-ready'); });
}
})();
</script>
</section> 161 lines UTF-8 · LF · Spaces: 2
Continue browsing