Transition delay en CSS: Cómo establecer el inicio de las transiciones

| Última modificación: 16 de diciembre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si quieres mejorar las animaciones de tu página web y conseguir un resultado profesional, probablemente te interese conocer la propiedad transition-delay. Esta función es muy importante al momento de crear animaciones que llamen la atención del usuario y mejoren la experiencia de navegación en una página web. Por esto, hoy te explicamos qué es transition delay en CSS, para qué sirve y cómo puedes usarla para mejorar tus animaciones.

Transition delay en CSS: Cómo establecer el inicio de las transiciones

¿Qué es transition delay en CSS?

Transition delay es una de las propiedades de transición de CSS que, concretamente, permite establecer cuánto tiempo debe esperar una animación antes de comenzar. Básicamente, funciona como un temporizador que retrasa el inicio de la transición después de que el usuario realiza una acción, como pasar el cursor sobre un elemento o hacer clic en él. Este tiempo se puede definir en segundos (s) o milisegundos (ms), dependiendo de la precisión que necesites.

Por ejemplo, si usas un transition-delay: 2s, la animación esperará dos segundos antes de iniciarse.

¿Para qué sirve la transition delay?

Las transiciones en CSS son elementos importantes que debes considerar al momento de diseñar una página web, ya que te permiten añadir dinamismo y generar una experiencia de navegación más agradable y fluida. Particularmente, la propiedad transition delay es muy útil por tres razones:

  • Mayor control: Puedes decidir exactamente cuándo comienza una animación, ayudando a crear efectos más complejos y sofisticados.
  • Mejor experiencia del usuario: Cuando diseñas animaciones con tiempos bien ajustados, las interacciones pueden verse más fluidas y naturales.
  • Jerarquía visual: Si tienes varios elementos animados en tu página web, transition-delay te permite escalonar las animaciones para dirigir la atención del usuario a donde más importa.

Elementos principales de transition delay

Como hemos mencionado anteriormente, la propiedad transition forma parte del conjunto de propiedades de transición de CSS, por lo que, generalmente, trabaja en conjunto con las siguientes propiedades:

  1. transition-property: Esta propiedad es el punto de partida para crear transiciones, ya que es la que define qué propiedad del elemento se va a animar
  2. transition-duration: Es la propiedad que establece cuánto tiempo debe durar la transición.
  3. transition-timing-function: Controla la velocidad de la animación, por ejemplo, si es lineal, acelerada, desacelerada, etc.

Sintaxis de transition-delay

Al igual que en las otras propiedades de transición, la sintaxis de transition delay es bastante sencilla. Veamos un ejemplo básico:

.elemento {
transition-property: background-color;
transition-duration: 2s;
transition-timing-function: ease;
transition-delay: 1s;
}

En este caso, el color de fondo cambiará con una duración de 2 segundos, pero la animación no comenzará hasta después de 1 segundo.

Asimismo, puedes definir múltiples retrasos para animar varias propiedades al mismo tiempo:

.elemento {
transition-property: background-color, transform;
transition-duration: 2s, 1s;
transition-delay: 1s, 0.5s;
}

Ahora, veamos un ejemplo un poco más complejo. Supongamos que tienes un botón en tu página web y quieres que el color de fondo cambie con un ligero retraso cuando el usuario pase el cursor sobre él:

HTML:

<button class="boton">¡Haz clic aquí!</button>

CSS:

.boton {
background-color: #3498db;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
transition: background-color 0.5s ease, transform 0.3s ease 0.2s;
}

.boton:hover {
background-color: #2ecc71;
transform: scale(1.1);
}

En este caso, el botón cambiará de color inmediatamente al pasar el cursor, pero el efecto de escala tendrá un retraso de 0.2 segundos.

Ventajas de usar transition delay

La diferencia entre una página web memorable y una que pasa desapercibida está en los detalles. Por eso, te contaremos algunas de las principales ventajas de usar la transition delay en el diseño de una página web, para que te animes a probarla:

Mejora la experiencia del usuario

Las transiciones suaves y bien temporizadas hacen que las interacciones se vean más fluidas, naturales y agradables. Por ejemplo, establecer un pequeño retraso para una animación que sucede cuando el usuario pasa el cursor sobre un botón puede generar una sensación más fluida y profesional. Este tipo de detalles, además de ser estéticamente agradables, mejoran la percepción de tu sitio y la experiencia del usuario al guiar su atención a los elementos importantes de una forma agradable.

Sin embargo, es importante que evites abusar de los retrasos, ya que un delay largo puede conseguir el efecto contrario y frustrar al usuario. Por eso, asegúrate de que los retrasos mejoren la experiencia del usuario en lugar de entorpecerla y combínalos con otras propiedades de transición para crear efectos agradables y útiles.

Da más control creativo

Si quieres que ciertos elementos destaquen antes que otros, con la transition delay puedes jerarquizar las animaciones de tu página. Para dar un ejemplo, imagina que tienes una lista de elementos y quieres que aparezcan de forma escalonada, uno tras otro, para crear un efecto visual armónico. Usando esta propiedad, puedes controlar exactamente cuándo debe comenzar cada animación, lo que te da mayor libertad creativa para destacar los elementos que deseas en el momento justo.

Es fácil de implementar

Una de las principales ventajas de usar la transition-delay es que no necesitas tener conocimientos avanzados ni usar herramientas externas como JavaScript. En su lugar, puedes añadir efectos dinámicos con apenas unas pocas líneas de CSS, sin sobrecargar tu código o tu sitio. 

Como puedes ver, la propiedad transition-delay en CSS es una herramienta muy útil que te permite añadir un toque de dinamismo y sofisticación a tus páginas web. Así, puedes controlar exactamente cuándo comienzan tus animaciones, crear efectos visuales más atractivos y una experiencia de usuario más fluida.

Si te interesa aprender más sobre cómo mejorar el diseño y la interacción en tus proyectos web, te invitamos a unirte a nuestro Bootcamp de Desarrollo Web. En pocos meses podrás dominar los principales lenguajes de programación y las tecnologías más demandadas en la actualidad, para que puedas empezar una nueva carrera en el sector IT. 

¿Qué esperas para transformar tu vida?

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado