blob: 850c41d10d58002b5259b8c7406593221d871113 [file] [log] [blame]
<!DOCTYPE html>
<title>CSS Backdrop Filters Animation: Opacity</title>
<link rel="author" title="Mason Freed" href="">
<link rel="help" href="">
<link rel="match" href="backdrop-filters-opacity-ref.html">
/* Note that per the spec, the backdrop image is read back, filters
are applied, any additional content is drawn, and then the resulting
image is composited back into the parent (over the top of the
existing backdrop image) using source-over compositing. In this case,
the only backdrop filter is opacity, so the backdrop image will be
filtered by opacity 50%, the green box (100% opacity) is drawn over
that at 100% opacity, and then the entire thing is composited into
the backdrop, which already contains the 100% opacity blue square.
So the blue square stays 100% blue. */
.square {
position: absolute;
width: 100px;
height: 100px;
top: 100px;
left: 100px;
background: blue;
.filt {
backdrop-filter: opacity(50%);
position: absolute;
width: 200px;
height: 200px;
top: 50px;
left: 50px;
.greenbox {
position: absolute;
width: 50px;
height: 50px;
top: 75px;
left: 75px;
background: green;
<p>You should see a blue square with a green box inside.</p>
<div class="square"></div>
<div class="filt">
<div class="greenbox"></div>