Animaciones y microinteracciones en CSS fluidas y accesibles
Diseña y programa animaciones CSS para botones, menús, tarjetas o apariciones al hacer scroll, con especificación de movimiento, rendimiento a 60 fps y alternativa para movimiento reducido. Pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Incluye 4 variables personalizables y se copia gratis en un clic.
Intermedio · Código · Pendiente de revisión editorial
Prompt
Actúa como desarrollador frontend especializado en motion design para la web, rendimiento de animaciones y accesibilidad.
Contexto:
- Qué quiero animar: {{elemento}}
- Sensación buscada: {{sensacion}}
- Tecnología: {{tecnologia}}
- Restricciones del proyecto: {{restricciones}}
Si la interacción no está clara (qué la dispara, cuánto dura, si se puede interrumpir), pregúntame antes de escribir código.
Entregables:
1. Especificación de movimiento en tabla: disparador, propiedades que cambian, duración, curva de easing, retardo y estado final, coherente con la sensación {{sensacion}}.
2. Variables CSS para duraciones y curvas, reutilizables en todo el proyecto.
3. El HTML y CSS (y el JavaScript mínimo si {{tecnologia}} lo requiere), animando solo transform y opacity siempre que sea posible.
4. Alternativa con prefers-reduced-motion: qué se elimina, qué se sustituye por un fundido simple y qué se mantiene porque aporta información.
5. Estados de foco visibles y comportamiento correcto con teclado si el elemento es interactivo; la animación nunca debe ocultar el foco ni retrasar la respuesta.
6. Notas de rendimiento: cuándo usar will-change y cuándo quitarlo, evitar animar propiedades que provocan relayout y cómo comprobarlo en el panel Performance.
7. Comportamiento en navegadores que no soporten alguna de las APIs usadas, para que el contenido siga siendo usable.
Restricciones:
- Nada de animaciones que parpadeen más de tres veces por segundo ni de movimiento que se active solo y no se pueda pausar si dura más de cinco segundos.
- Sin librerías externas salvo que {{tecnologia}} lo pida.
- El contenido debe ser visible y usable aunque la animación no llegue a ejecutarse.
Formato: tabla de especificación, código en bloques separados por archivo y una lista de pruebas.Cómo usarlo
- Describe la interacción concreta y la sensación que quieres transmitir. 2. Elige si basta con CSS o necesitas algo de JavaScript. 3. Prueba el resultado con la opción de reducir movimiento activada en tu sistema y en un móvil de gama media.
Ejemplo de uso
Elemento: tarjetas de producto que aparecen al hacer scroll y botón de añadir al carrito con confirmación · Sensación: sutil y profesional · Tecnología: CSS + IntersectionObserver · Restricciones: sin librerías.
Resultado de ejemplo
Especificación de movimiento
| Disparador | Propiedades | Duración | Curva | Estado final |
|---|---|---|---|---|
| La tarjeta entra en el viewport | opacity, transform | 300 ms | cubic-bezier(0.2, 0, 0, 1) | Visible, en su sitio |
| Pulsar «Añadir al carrito» | transform (escala) | 150 ms | misma curva | Icono de confirmación |
animaciones.css
:root {
--dur-rapida: 150ms;
--dur-base: 300ms;
--curva-salida: cubic-bezier(0.2, 0, 0, 1);
}
/* Solo se oculta si el JS ha cargado: sin JS, el contenido se ve igual */
.js .tarjeta-producto {
opacity: 0;
transform: translateY(16px);
transition: opacity var(--dur-base) var(--curva-salida), transform var(--dur-base) var(--curva-salida);
}
.js .tarjeta-producto.es-visible { opacity: 1; transform: none; }
.boton-carrito { transition: transform var(--dur-rapida) var(--curva-salida); }
.boton-carrito:active { transform: scale(0.97); }
.boton-carrito:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.boton-carrito[data-estado="anadido"] .icono-check { animation: aparecer var(--dur-base) var(--curva-salida); }
@keyframes aparecer { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
.js .tarjeta-producto { transform: none; transition: opacity var(--dur-rapida) linear; }
.boton-carrito, .boton-carrito[data-estado="anadido"] .icono-check { transition: none; animation: none; }
}
Solo se animan transform y opacity, que no provocan recálculo de layout. El IntersectionObserver añade .es-visible y deja de observar cada tarjeta…
Datos clave
- Categoría
- Programación y desarrollo · HTML y CSS
- Tipo de resultado
- Código
- Nivel
- Intermedio
- Pensado para
- ChatGPT, Claude, Gemini y Microsoft Copilot
- Verificado en
- Pendiente de verificación editorial
- Variables
- Qué quiero animar, Sensación buscada, Tecnología y Restricciones
- Idioma
- Español
- Precio
- Gratis, sin registro
- Actualizado
- 07/11/2026
Preguntas frecuentes
¿Por qué animar solo transform y opacity?
Porque el navegador puede animarlas sin recalcular el diseño de la página, normalmente en la GPU. Animar width, top o margin obliga a recalcular el layout en cada fotograma y causa tirones.
¿Qué es prefers-reduced-motion?
Una media query que detecta si la persona ha pedido a su sistema reducir el movimiento, por ejemplo por mareos o trastornos vestibulares. Respetarla es una buena práctica de accesibilidad.
¿Para qué sirve este prompt?
Diseña y programa animaciones CSS para botones, menús, tarjetas o apariciones al hacer scroll, con especificación de movimiento, rendimiento a 60 fps y alternativa para movimiento reducido.
¿Con qué herramientas de IA funciona?
Está pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.
¿Cómo personalizo el prompt?
Pulsa «Personalizar» y rellena las variables (Qué quiero animar, Sensación buscada, Tecnología y Restricciones). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.
¿Necesito experiencia para usarlo?
Es de nivel intermedio: conviene que conozcas el tema para aportar buen contexto y revisar el resultado con criterio.
¿Este prompt es gratis?
Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.
¿Puedo fiarme del resultado de la IA?
Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.