Claude Codeでアニメーションを実装する方法
Claude Codeを活用してCSS・Framer Motion・Web Animations APIによるアニメーションを効率的に実装。スクロール連動やトランジションの実践コード付き。
アニメーション実装をClaude Codeで効率化する
Webアニメーションは体験を大きく向上させますが、実装には専門知識が必要です。Claude Codeなら「フェードインさせたい」「スクロールで要素を表示したい」と伝えるだけで、適切なアニメーションコードを生成できます。
CSSアニメーションの基本
まずはCSSだけで実現できるアニメーションです。
> スクロールで画面に入ったらフェードインするCSSアニメーションを作って。
> 下からスライドしながら表示するパターンも。
/* フェードイン + スライドアップ */
@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;
}
/* 初期状態は非表示 */
.animate-on-scroll {
opacity: 0;
}
.animate-on-scroll.is-visible {
animation: fadeInUp 0.6s ease-out forwards;
}
/* スタガー(遅延)アニメーション */
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
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);
Framer Motionによるアニメーション
Reactプロジェクトでは、Framer Motionを使うとより宣言的に書けます。
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>
);
}
ページトランジション
ページ遷移時のアニメーションです。
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>
);
}
ローディングアニメーション
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`} />
);
}
デザインシステムとの統合はデザインシステム構築を、レスポンシブ対応はレスポンシブデザインをご覧ください。
まとめ
Claude Codeを使えば、CSSアニメーション、Framer Motion、ページトランジション、ローディング表示まで、アニメーション実装を短時間で完了できます。「こんな動きをつけたい」と伝えるだけで適切な技術選定とコード生成が行われます。
詳しくはClaude Code公式ドキュメントを参照してください。
無料PDF: Claude Code はじめてのチートシート
まずは無料PDFで基本コマンドと最初の使い方をまとめて確認してください。登録後はそのままテンプレート集や導入相談にも進めます。
スパムは送りません。登録情報は厳重に管理します。
Claude Codeを仕事で使える形にしませんか?
無料PDFで基礎を固めたあと、すぐ使えるテンプレート集で試し、必要なら業務自動化や導入相談まで進められます。
この記事を書いた人
Masa
現役DX室長|Claude Code でゼロから多言語AI技術メディア運営中。実務直結の自動化、AI開発相談・研修受付中。
関連書籍・参考図書
この記事のテーマに関連する書籍を楽天ブックスで探せます。
※ 当サイトは楽天市場のアフィリエイトプログラムに参加しています。上記リンクから商品をご購入いただくと、運営者に紹介料が支払われる場合があります。
関連記事
Claude Codeで使うCLAUDE.mdテンプレート7選 | 実案件にそのまま貼れる例
個人開発、コンテンツサイト、API、チーム開発、レガシー改修向けに、そのまま使えるCLAUDE.mdテンプレート7本をまとめました。
Claude Code の Approval / Sandbox 設定ガイド | 安全に毎日使うための実践ルール
Claude Code を allow・ask・deny・sandbox でどう分けるかを、動く設定例、Hooks、失敗例付きで実践的に解説します。
Claude Code 完全入門ガイド2026|ゼロから実務で使えるまでの7ステップ
Claude Codeを初めて触る方向けの完全入門ガイド。インストールから実際の開発ワークフローへの組み込みまで、Masa自身が最初につまずいたポイントを踏まえて丁寧に解説。