Framer Motion

Animations with Framer Motion

Framer Motion

We use Framer Motion for declarative animations.

Installation

npm install framer-motion

Common Animations

Fade In

<motion.div
  initial={{ opacity: 0 }}
  animate={{ opacity: 1 }}
>

Slide Up

<motion.div
  initial={{ opacity: 0, y: 20 }}
  animate={{ opacity: 1, y: 0 }}
>

Stagger Children

<motion.div
  initial="hidden"
  animate="visible"
  variants={{
    visible: { transition: { staggerChildren: 0.1 } }
  }}
>
  {items.map(item => (
    <motion.div
      variants={{
        hidden: { opacity: 0, y: 20 },
        visible: { opacity: 1, y: 0 }
      }}
    />
  ))}
</motion.div>

Gestures

<motion.button
  whileHover={{ scale: 1.05 }}
  whileTap={{ scale: 0.95 }}
>
  Click me
</motion.button>