So implementieren Sie Animationen mit Claude Code
Erfahren Sie, wie Sie Animationen mit Claude Code implementieren. Mit praktischen Codebeispielen und Schritt-für-Schritt-Anleitung.
Animationsimplementierung mit Claude Code optimieren
Web-Animationen verbessern die Nutzererfahrung erheblich, erfordern jedoch Fachwissen bei der Implementierung. Mit Claude Code genügt es, „Ich möchte einen Fade-In-Effekt” oder „Elemente beim Scrollen anzeigen” zu sagen, um passenden Animationscode zu generieren.
CSS-Animationen – Grundlagen
Zunächst Animationen, die nur mit CSS realisierbar sind.
> Erstelle eine CSS-Animation, die beim Scrollen in den Viewport einblendet.
> Auch ein Pattern mit Slide von unten.
/* Einblenden + Hochschieben */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translateX(-20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.animate-fade-in-up {
animation: fadeInUp 0.6s ease-out forwards;
}
.animate-fade-in-left {
animation: fadeInLeft 0.6s ease-out forwards;
}
/* Anfangszustand ausgeblendet */
.animate-on-scroll {
opacity: 0;
}
.animate-on-scroll.is-visible {
animation: fadeInUp 0.6s ease-out forwards;
}
/* Gestaffelte (verzögerte) Animation */
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
Kombination mit dem Intersection Observer.
function setupScrollAnimations() {
const observer = new IntersectionObserver(
(entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.classList.add("is-visible");
observer.unobserve(entry.target);
}
});
},
{ threshold: 0.1, rootMargin: "0px 0px -50px 0px" }
);
document.querySelectorAll(".animate-on-scroll").forEach((el) => {
observer.observe(el);
});
}
document.addEventListener("DOMContentLoaded", setupScrollAnimations);
Animationen mit Framer Motion
In React-Projekten ermöglicht Framer Motion eine deklarativere Schreibweise.
import { motion, useInView, type Variants } from "framer-motion";
import { useRef } from "react";
const containerVariants: Variants = {
hidden: { opacity: 0 },
visible: {
opacity: 1,
transition: {
staggerChildren: 0.1,
},
},
};
const itemVariants: Variants = {
hidden: { opacity: 0, y: 20 },
visible: {
opacity: 1,
y: 0,
transition: { duration: 0.5, ease: "easeOut" },
},
};
export function AnimatedList({ items }: { items: string[] }) {
const ref = useRef(null);
const isInView = useInView(ref, { once: true, margin: "-50px" });
return (
<motion.ul
ref={ref}
variants={containerVariants}
initial="hidden"
animate={isInView ? "visible" : "hidden"}
className="space-y-4"
>
{items.map((item, i) => (
<motion.li key={i} variants={itemVariants} className="p-4 bg-white rounded-lg shadow">
{item}
</motion.li>
))}
</motion.ul>
);
}
Seitenübergänge
Animationen beim Seitenwechsel.
import { motion, AnimatePresence } from "framer-motion";
import { useRouter } from "next/router";
const pageVariants: Variants = {
initial: { opacity: 0, x: -20 },
animate: { opacity: 1, x: 0 },
exit: { opacity: 0, x: 20 },
};
export function PageTransition({ children }: { children: React.ReactNode }) {
const router = useRouter();
return (
<AnimatePresence mode="wait">
<motion.div
key={router.pathname}
variants={pageVariants}
initial="initial"
animate="animate"
exit="exit"
transition={{ duration: 0.3, ease: "easeInOut" }}
>
{children}
</motion.div>
</AnimatePresence>
);
}
Ladeanimationen
export function SkeletonLoader({ lines = 3 }: { lines?: number }) {
return (
<div className="space-y-3 animate-pulse">
{Array.from({ length: lines }).map((_, i) => (
<div
key={i}
className="h-4 bg-gray-200 rounded"
style={{ width: `${100 - i * 15}%` }}
/>
))}
</div>
);
}
export function SpinnerLoader({ size = "md" }: { size?: "sm" | "md" | "lg" }) {
const sizeClasses = { sm: "h-4 w-4", md: "h-8 w-8", lg: "h-12 w-12" };
return (
<div className={`${sizeClasses[size]} animate-spin rounded-full border-2 border-gray-300 border-t-primary-600`} />
);
}
Zur Integration mit Design-Systemen siehe Design-System aufbauen, für responsive Anpassungen Responsive Design.
Zusammenfassung
Mit Claude Code können Sie Animationsimplementierungen von CSS-Animationen über Framer Motion bis hin zu Seitenübergängen und Ladeanzeigen in kurzer Zeit abschließen. Es genügt, die gewünschte Bewegung zu beschreiben, und die passende Technologieauswahl sowie Codegenerierung erfolgen automatisch.
Weitere Details finden Sie in der offiziellen Claude Code-Dokumentation.
Bring deinen Claude-Code-Workflow aufs nächste Level
50 in der Praxis erprobte Prompt-Vorlagen zum direkten Copy-and-paste in Claude Code.
Kostenloses PDF: Claude-Code-Spickzettel in 5 Minuten
Wichtige Befehle, Shortcuts und Prompt-Beispiele auf einer druckbaren Seite.
Über den Autor
Masa
Ingenieur, der Claude Code intensiv nutzt. Betreibt claudecode-lab.com, ein Tech-Medium in 10 Sprachen mit über 2.000 Seiten.
Ähnliche Artikel
Eigene Slash-Befehle in Claude Code erstellen — Workflow anpassen
Lerne, wie du eigene Slash-Befehle in Claude Code erstellst. Deckt Dateiablage, Argumente und Automatisierung häufiger Aufgaben mit Code-Beispielen ab.
10 Tipps, um Ihre Produktivität mit Claude Code zu verdreifachen
Entdecken Sie 10 praktische Tipps, um mehr aus Claude Code herauszuholen. Von Prompt-Strategien bis zu Workflow-Abkürzungen — diese Techniken steigern Ihre Effizienz ab sofort.
Canvas/WebGL-Optimierung mit Claude Code
Erfahren Sie, wie Sie Canvas/WebGL mit Claude Code optimieren. Mit praktischen Tipps und Codebeispielen.