Transicionar hacia display: none en CSS
El truco que antes pedía un timeout: dos líneas extra y el elemento puede animar su salida.
.popover {
opacity: 0;
display: none;
transition: opacity 200ms ease, display 200ms allow-discrete;
}
.popover.is-open {
opacity: 1;
display: block;
}
@starting-style {
.popover.is-open { opacity: 0; }
}
dialog::backdrop {
background: rgb(15 23 42 / 0.4);
transition: opacity 200ms ease, overlay 200ms allow-discrete;
}
Cómo funciona
transition-behavior: allow-discretedeja participar adisplay.@starting-stylele da al navegador un valor desde el cual animar en el primer pintado.overlaymantiene visible un elemento de la capa superior mientras se anima al salir.
Palabras clave y builtins usados aquí
backgrounddisplaymsopacityrgbtransition
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 322
- Tokens
- 80
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 53 segundos.
Paso 2 de 8 en Movimiento y efectos; paso 12 de 21 en CSS responsivo y moderno.