Docs
Moving Gradient
Animated moving gradient background
requires config
Installation
Update tailwind.config.js
theme: {
extend: {
keyframes: {
"bg-position": {
"0%": { backgroundPosition: "0% 50%" },
"100%": { backgroundPosition: "100% 50%" },
},
}
},
},
Run the following command
It will create a new file called moving-gradient.tsx
inside the components/animata/background
directory.
mkdir -p components/animata/background && touch components/animata/background/moving-gradient.tsx
Paste the code
Open the newly created file and paste the following code:
import { ComponentPropsWithoutRef } from "react";
import { cn } from "@/lib/utils";
interface MovingGradientProps extends ComponentPropsWithoutRef<"div"> {
animated?: boolean;
gradientClassName?: string;
}
export default function MovingGradient({
children,
className,
animated = true,
gradientClassName,
...props
}: MovingGradientProps) {
const backgroundClassName = "pointer-events-none absolute h-full w-full";
return (
<div {...props} className={cn("relative overflow-hidden bg-white", className)}>
<div
className={cn(
"bg-size bg-gradient-to-r from-yellow-500 from-30% via-yellow-700 via-50% to-pink-500 to-80% opacity-15",
{
[backgroundClassName]: true,
"animate-bg-position bg-[length:300%_auto]": animated,
},
gradientClassName,
)}
/>
<div className={cn(backgroundClassName, "z-1 blur-lg")} />
{children}
</div>
);
}
Credits
Built by hari