transition delay
Redactado por
Sebastian V. Fecha de publicación
27/03/2024
Tiempo de lectura
4 min
Tema
CSS Transitions
Esperando el momento adecuado
transition-delay te permite poner "en pausa" la transición antes de que comience. Define cuánto tiempo debe esperar el navegador desde que ocurre el cambio de estado (como hacer hover) hasta que empieza a animarse.
¿Para qué queremos que la UI espere?
Podría parecer contraproducente hacer que el usuario espere. Sin embargo, el delay es una de las herramientas más potentes para crear Coreografía en UI y resolver problemas reales de usabilidad.
- ✦ Menús tolerantes: Cuando el usuario mueve el mouse accidentalmente fuera de un dropdown por un milisegundo, no queremos que se cierre de golpe. Un pequeño delay al salir evita la frustración.
- ✦ Secuencias: Puedes animar 3 elementos distintos aplicando un delay de 0.1s, 0.2s y 0.3s. Aparecerán en cascada de manera hermosa.
- ✦ Prevenir parpadeos: A veces, si el hover ocurre muy rápido al pasar el cursor de largo, se dispara una transición a medias. Un delay de
0.05sexige que el cursor se detenga intencionalmente sobre el elemento.
Consejo profesional
Los delays negativos (ej. -0.2s) son un truco avanzado: hacen que la transición comience instantáneamente pero saltándose los primeros 0.2 segundos de la animación.
Ejemplo práctico (Menú tolerante)
<div class="menu">
Pasa el cursor
<div class="dropdown">
<div class="item">Opción 1</div>
<div class="item">Opción 2</div>
<div class="item">Opción 3</div>
</div>
</div> Pasa el cursor. El menú se abre al instante (delay 0s). Al quitar el cursor, espera medio segundo antes de cerrarse (delay 0.5s). ¡Esto perdona errores de puntería del usuario!
Errores comunes
Practica lo aprendido
Comprende cómo el tiempo de espera puede mejorar la tolerancia a errores de la UI.