¿Cómo puedo crear una transición CSS simple para suavizar cambios de estilo?

Aprende a crear transiciones CSS simples con la propiedad transition para suavizar cambios de estilo (ej. en :hover) definiendo propiedad y duración.

LucusHost, el mejor hosting

20% DESCUENTO ALOJAMIENTO WEB

Para crear una transición CSS simple para suavizar los cambios de estilo, como los que ocurren al pasar el ratón sobre un elemento (:hover), se utiliza principalmente la propiedad transition.

  1. Define el estado inicial del elemento: Estos son los estilos que el elemento tiene por defecto.
  2. Aplica la propiedad transition al estado inicial: En la regla CSS del estado base de tu elemento (no en la regla del :hover), especifica qué propiedades quieres que se animen, cuánto tiempo debe durar la transición y, opcionalmente, la función de temporización y el retardo.
    • transition-property: La propiedad o propiedades CSS que quieres animar (ej. background-color, opacity, transform, o all para todas las propiedades animables).
    • transition-duration: La duración de la transición (ej. 0.3s, 500ms). Este valor es esencial.
    • transition-timing-function (opcional): Define la curva de aceleración de la transición (ej. ease (por defecto), linear, ease-in, ease-out, ease-in-out).
    • transition-delay (opcional): Especifica un retraso antes de que comience la transición.
    Puedes usar la propiedad abreviada transition para definir todo esto en una línea: transition: [property] [duration] [timing-function] [delay];
  3. Define los estilos del estado final (ej. :hover): Especifica los nuevos valores para las propiedades que quieres cambiar cuando el elemento alcance ese estado.

Ejemplo Práctico:

Supongamos que tienes un botón y quieres que su color de fondo y el color del texto cambien suavemente al pasar el ratón por encima.

.mi-boton {
  background-color: #3498db; /* Azul */
  color: white;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;

  /* Definimos la transición en el estado base */
  /* Animaremos 'background-color' y 'color' durante 0.3 segundos con una función 'ease' */
  transition: background-color 0.3s ease, color 0.3s ease;
  /* También podrías usar 'all 0.3s ease;' si quieres que todas las propiedades animables transicionen */
}

.mi-boton:hover {
  background-color: #2980b9; /* Azul más oscuro */
  color: #ecf0f1; /* Un gris claro */
  /* No necesitas volver a declarar 'transition' aquí */
}Lenguaje del código: PHP (php)

Cuando pases el cursor sobre el botón, el background-color y el color del texto cambiarán gradualmente en 0.3 segundos, en lugar de hacerlo de forma instantánea. Si retiras el cursor, la transición también se aplicará en sentido inverso para volver a los estilos originales.

¿Tienes alguna duda o pregunta?Envía el formulario y procuraré darle respuesta
Formulario de pregunta
Responsable » Jose Ramón Bernabeu Guillem. Finalidad » Ponernos en contacto. Legitimación » Tu consentimiento al marcar la casilla verificación. Destinatarios » Los datos que proporciones estarán ubicados en los servidores de LucusHost, proveedor de hosting de este sitio. Derechos » por supuesto tendrás derecho, entre otros, a acceder, rectificar, limitar y suprimir tus datos.
Si creees que esto puede ser de utilidad a alguien más, pues... compártelo que es gratis 🙂
Sitio alojado en un servidor verde según The Green Web Foundation

LucusHost, el mejor hosting

20% DESCUENTO ALOJAMIENTO WEB

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2025 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram