dialog.css
1/* The "magic" piece powered by custom properties */
2dialog {
3 --present: 0;
4 opacity: var(--present);
5 filter: blur(calc((1 - var(--present)) * 10px));
6 translate: 0 calc((1 - var(--present)) * 50%);
7
8 /* Acts like a hold animation */
9 transition-property: display, overlay, translate, opacity, filter;
10 transition-duration: 0.875s;
11 transition-behavior: allow-discrete;
12
13 /* Define with some nesting */
14 &[open] {
15 --present: 1;
16 display: flex;
17
18 @starting-style {
19 --present: 0
20 }
21 }
22}
@starting-style
11711717.5×