Inicio > Cursos > HTML & CSS > Transiciones y Animaciones
HTML & CSSCSS IntermedioLección 17 de 24

Transiciones y Animaciones

Las animaciones CSS hacen las interfaces más vivas sin JavaScript. Las transiciones son el tipo más simple: definen cómo cambia una propiedad de un valor a otro suavemente. transition: color 0.3s ease-in-out hace que el color cambie gradualmente en 0.3 segundos cuando el elemento pasa de un estado a otro (como :hover).

Los keyframes permiten animaciones complejas con múltiples estados intermedios. @keyframes nombre define los estados (0%, 50%, 100%) y animation aplica la animación con duración, repetición y función de timing. Para mejor rendimiento, anima solo transform y opacity: estas propiedades no causan reflow del layout y son aceleradas por GPU.

/* TRANSICIONES - de un estado a otro */
.boton {
  background: #00E5A0;
  transform: scale(1);
  box-shadow: 0 4px 15px rgba(0, 229, 160, 0.3);
  
  /* Transición: propiedad duración función retraso */
  transition: all 0.3s ease;
  /* o específico: */
  transition: background 0.3s ease, transform 0.2s ease;
}
.boton:hover {
  background: #00B880;
  transform: scale(1.05);
  box-shadow: 0 6px 25px rgba(0, 229, 160, 0.5);
}

/* ANIMACIONES - movimiento continuo */
@keyframes pulsar {
  0%   { transform: scale(1); opacity: 1; }
  50%  { transform: scale(1.1); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes deslizar {
  from { transform: translateX(-100px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

.animado {
  animation: pulsar 2s ease-in-out infinite;
  animation: deslizar 0.5s ease forwards;
}
Consejo⚡ Para animaciones performantes, usa solo transform y opacity. Estas propiedades se procesan en la GPU y no causan re-layouts (evita animar width, height, margin).
← Diseño Responsivo y Media QueriesPseudo-clases y Pseudo-elementos →

Practica esta lección

Resuelve los ejercicios del curso de HTML & CSS en la app, gratis y con corrección automática.

Empezar a practicar