backdrop-opacity
Fades the backdrop behind an element using backdrop-filter opacity.
CSS Rules
.backdrop-opacity {
backdrop-filter: opacity(var(--backdrop-opacity));
}
Usage
The .backdrop-opacity
class is flagged as a value-driven selector.
The variable --backdrop-opacity is required.
<element class="backdrop-opacity" style="--backdrop-opacity: /* value */;" />
Responsive
Prefix
.backdrop-opacity
utility with a breakpoint variant (e.g., md:) to apply styles at
specific screen sizes (Supported breakpoints are
xm through 2xl).
<element class="md:backdrop-opacity" style="--md-backdrop-opacity: /* value */;" />
States
States are generated dynamically at runtime and always
come last. Append a state like :hover or
:focus to the end of the
class. This works in conjunction with breakpoints
.
Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.
<element class="backdrop-opacity:hover" style="--backdrop-opacity-hover: /* value */;" />
Group Hover Example
The :group-hover state
applies styles when a parent element with the .group class is hovered.
<element class="group">
<element class="backdrop-opacity:group-hover">...</element>
</element>
Pseudo-Elements
The ::before and ::after utility classes
are supported too. Granted that you add the mandatory content-before or content-after class in
order for them to work.
<element class="content-before backdrop-opacity::before" style="--backdrop-opacity-before: /* value */;" />
<element class="content-after backdrop-opacity::after" style="--backdrop-opacity-after: /* value */;" />
Shorthand
Value-driven classes support a shorthand syntax like bg=pink or p=4. The runtime
processes this for you. Unlike :hover that is
generating CSS on the fly, shorthand only splits it
and appends the corresponding style.
<!-- Input -->
<element class="backdrop-opacity=value" />
<!-- Output -->
<element class="backdrop-opacity" style="--backdrop-opacity: value;" />
CLS Alert
This feature may cause CLS (Cumulative Layout
Shift). Make sure to include a
z-not-ready
class in your <head>
tag.