A collection of beautiful, interactive footer components with scroll-based animations built with React, TypeScript, and Tailwind CSS.
Screen.Recording.2025-06-28.at.6.27.01.PM.mov
- Multiple Footer Designs: 4 unique footer components with different visual styles and animations
- Scroll-Based Animations: Dynamic effects that respond to user scroll position
- Tab Navigation: Easy switching between different footer examples
A gradient-based footer with smooth scaling animation that responds to scroll position.
An SVG-based footer with colorful gradient bars that scale vertically based on scroll.
Another unique scroll-responsive footer design with custom animations.
A fourth variation with its own distinctive scroll-based animation style.
- Node.js (version 16 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/manish-basargekar/sassy-footers.git
cd sassy-footers
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:5173
npm run dev
- Start the development servernpm run build
- Build the project for productionnpm run preview
- Preview the production buildnpm run lint
- Run ESLint for code quality checks
src/
├── components/
│ ├── dia/
│ │ ├── dia-footer-gradient.tsx # Gradient footer component
│ │ └── dia-scroll-effect.tsx # Dia scroll effect wrapper
│ ├── scroll-effect-two.tsx # SVG-based footer
│ ├── scroll-effect-three.tsx # Third footer variant
│ ├── scroll-effect-four.tsx # Fourth footer variant
│ └── Tabs.tsx # Tab navigation component
├── App.tsx # Main application component
└── main.tsx # Application entry point
The footers use the @smakss/react-scroll-direction
library to detect scroll position and apply dynamic transformations:
- Scale Effects: Components scale based on scroll position using
scaleY()
transforms - Translation Effects: Navigation elements move vertically with different scroll ratios
- Responsive Scaling: Animations adapt to different screen sizes
Each footer component accepts a top
prop representing the current scroll position. You can:
- Modify Animation Speed: Adjust the divisors in transform calculations (e.g.,
top / 6
,top / 3.5
) - Change Colors: Update the gradient colors in the SVG definitions or Tailwind classes
- Add New Effects: Create additional footer variants following the existing patterns
- Customize Navigation: Modify the links and styling in the
Tabs
component
Contributions are welcome! Feel free to:
- Add new footer designs
- Improve existing animations
- Enhance responsive behavior
- Fix bugs or optimize performance
Manish Basargekar
- Twitter: @madebymanish
- GitHub: manish-basargekar
Star ⭐ this repository if you found it helpful!