| description | Use when building a frosted-glass surface (sticky header, modal overlay, nav bar, card-on-image) with the CSS `backdrop-filter` property, debugging a `backdrop-filter` that silently does not blur, sizing the blur radius for a given content density, verifying that text-on-glass still passes WCAG contrast, picking a mobile-friendly fallback when GPU cost is too high, or shipping a fallback for browsers below Baseline 2024. Prevents the most common glassmorphism regressions : a `backdrop-filter` declared on a card whose ancestor has `opacity: 0.95` (the parent silently becomes a backdrop-root and clips the filter), white-on-glass body text that drops below 4 5 to 1 contrast against the bright photograph behind it (WCAG 1 4 3 fail), a 20-px blur applied to every card in an infinite scroll feed (mobile GPU melts), animating the `backdrop-filter` property itself (paint storm), missing `-webkit-backdrop-filter` for legacy Safari contexts, and stacking two `backdrop-filter` layers and getting compounded blur instead of the intended composition. Covers the CSS `backdrop-filter` shorthand and the full filter-function set (blur, brightness, contrast, drop-shadow, grayscale, hue-rotate, invert, opacity, saturate, sepia, url for SVG filters), the partially-transparent background-color requirement, the complete list of properties that establish a backdrop-root and break the filter (`opacity` less than 1, any `filter`, `mask`, `mask-image`, `mix-blend-mode`, `clip-path`, another `backdrop-filter`, `will-change` for any of these, `isolation: isolate`, `contain: paint`, `contain: layout`, `contain: strict`, and stacking-context triggers like `transform`, `perspective`, `filter`, `position: fixed`), the `-webkit-backdrop-filter` prefix status (no longer required as of 2024 but harmless), the `@supports (backdrop-filter: blur(1px))` graceful-degradation gate, the contrast-preservation rule for text on glass, the mobile-perf budget for blur radius, and the `prefers-reduced-transparency` opt-out per WCAG. Keywords: backdrop-filter, backdrop-root, blur, saturate, brightness, contrast, glassmorphism, frosted glass, -webkit-backdrop-filter, glassmorphism CSS, filter-effects, stacking context, isolation, contain, will-change, opacity, mix-blend-mode, mask, clip-path, prefers-reduced-transparency, supports backdrop-filter, WCAG 1 4 3, backdrop-filter not working, glass effect not working, text unreadable on glass, blurred background not showing, Safari blur missing, mobile slow with blur, paint storm, compositor cost, how do I make a glass effect, frosted glass CSS, backdrop blur, glassmorphism in CSS, what is backdrop-filter, why is my backdrop-filter ignored, why is my blur not working, how to make a sticky frosted header
|