0Original
No material. The text competes with the background and is barely readable.
Classic translucent material · iOS 7 to iOS 18
Apple's frosted glass is a stack of layers, not a blur. Drag the panel over the background, turn the layers off one by one, and watch what gets lost.
You can move the panel with the arrow keys when it is focused.
The same panel adding one layer per cell. It uses the appearance and background you picked above, so you can see how each step changes with what's behind it.
No material. The text competes with the background and is barely readable.
A 24 px gaussian. It strips the detail, but the result looks gray and washed out.
The blur mixes neighboring colors and desaturates them. Raising saturation brings it back to life.
A light (or dark) layer locks in the base contrast and makes the text readable.
Fine noise that breaks the banding of blurred gradients.
A 0.5 px hairline and a line of light along the top edge.
A two-layer shadow and continuous corners instead of a circular arc.
The text blends with the background (multiply in light, plus-lighter in dark) and takes on its color.
Without it the blur turns the sky a dull gray. At 180 % the sun's orange survives the blur.
The text behind stays almost readable through the glass. The tint isn't decoration; it's what guarantees contrast.
Labels stop being flat gray and take on the background's color. Easiest to see over Mosaic.
Each one weighs little on its own, but without them the panel loses its edge and reads as a smudge instead of an object.
The thicknesses are approximations calibrated by eye, not the system's internal values. The closest public reference is the sample code UIImageEffects, which uses a saturation of 1.8 and a tint alpha between 0.3 and 0.82 depending on the style. CSS's blur() is a standard deviation, so it doesn't map one-to-one to the blur radius of those functions.
It's a UI style that mimics frosted glass: translucent panels that blur what's behind them, with a subtle tint, a thin border and an inner highlight. Apple popularized it in iOS 7 and it's still present in iOS 18, macOS and visionOS.
With the backdrop-filter property. The minimal recipe is backdrop-filter: blur(24px) saturate(180%) plus a translucent background-color in rgba for the tint, and a 0.5 px border with an inner highlight to define the panel's edge.
All modern browsers: Chrome, Edge, Safari (with the -webkit- prefix) and Firefox. In older browsers the panel shows without the blur, so make sure the tint alone guarantees text contrast in case the filter isn't applied.
Almost always because of the stacking context. If an ancestor has transform, opacity below 1, filter or z-index, Chromium treats that element as the backdrop root and the blur stops seeing what's behind. Avoid those values in the panel's ancestor chain.