Loading...

ForkUI

Rainbow Glow Button

A white button with a mesmerizing, continuously animated rainbow glow effect that creates a dynamic visual experience.

Rainbow Glow Button Breakdown

� Dynamic Gradient Animation

The button features a continuously animated rainbow gradient background that smoothly transitions through a spectrum of colors. This creates a mesmerizing visual effect that captures the user's attention.

✨ Interactive Hover Effects

When hovering over the button, multiple subtle animations are triggered: the glow effect becomes more pronounced, the background scales slightly, and the button itself lifts up with a shadow, creating a dynamic interaction.

🎨 Color Palette and Design

The button uses a vibrant color gradient from red through purple to blue, creating a smooth, eye-catching transition. The white text ensures readability while maintaining a clean, modern aesthetic.

🔧 Technical Implementation

  • Uses Tailwind CSS for responsive and utility-first styling
  • Leverages CSS animations for smooth, performant effects
  • Implements group hover states for interactive layered design

Code Breakdown and Features

1. HTML Structure

<div className="relative inline-block group">
  <button className="relative z-10 ...">
    Rainbow Glow
  </button>
  <div className="absolute inset-0 ..."></div>
</div>

• Uses a parent div with relative positioning • Button is positioned with z-10 to appear above the glow effect • Background div uses absolute positioning to create layered effect

2. Button Styling

/* Hover and Interaction Styles */
hover:-translate-y-1 
hover:shadow-lg 
hover:text-gray-800
focus:outline-none 
focus:ring-2 
focus:ring-blue-500 
focus:ring-opacity-50

• Subtle lift effect on hover with -translate-y-1• Added shadow for depth with hover:shadow-lg• Focus state with a blue ring for accessibility

3. Rainbow Glow Animation

@keyframes rainbow-glow {
  0% {
    background-position: 0% 50%;
    transform: scale(1) rotate(0deg);
    opacity: 0.4;
  }
  50% {
    background-position: 100% 50%;
    transform: scale(1.05) rotate(-5deg);
    opacity: 0.7;
  }
  100% {
    background-position: 0% 50%;
    transform: scale(1) rotate(0deg);
    opacity: 0.4;
  }
}

• Uses background-position to create color transition • Adds subtle rotation and scale for dynamic movement • Varies opacity to create pulsing effect