The ::backdrop pseudo-element is a box the size of the viewport, which is rendered immediately beneath any element being presented in the top layer,
like a dialog or popover.
Popover heading
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<buttonpopovertarget="example-pop"popovertargetaction="show"> Show popover
</button><divclass="popover"id="example-pop"popover><h2>Popover heading</h2><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p></div><style>button{width:fit-content;border:1pxsolid;border-radius:3px;padding:0.5em;}.popover{top:50%;left:50%;translate:-50%-50%;padding:1rem;border-radius:4px;}.popover::backdrop{backdrop-filter:blur(3px);}</style>
Grid Animation
This allows the animation of rows and columns in a grid layout.
Use grid-template-rows to animate from 0 to auto and in combination with a details summary it is possible to show and hide content without javascript.
Click to see...
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<divclass="example-wrapper"><details><summary>Click to see...</summary></details><divclass="detail-content"><divclass="inner"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div></div></div><style>.example-wrapper{border:1pxsolid;border-radius:4px;padding:1rem;margin-block:1rem;max-width:60ch;details{cursor:pointer;}.detail-content{display:grid;grid-template-rows:0fr;/* yes, it has to be 0fr */transition:grid-template-rows0.5sease-out;}.inner{overflow:hidden;/* no parts will be sticking out */}details[open]+.detail-content{grid-template-rows:1fr;}}</style>
Cascade Layers
By using @layer to define the order of stylesheet groups and adding style declarations to these named groups.
Appearance is mostly used to remove vendor styling from form controls, like:
1
2
3
select{appearance:none;}
Individual transform properties
The translate, rotate, and scale CSS properties apply single transformations independently, as opposed to applying multiple transformations with the transform CSS property.
What does that mean?
In supporting browsers you can use translate, scale and rotate without transform: they’re their own properties now.