Circular Floating Menu
An innovative circular floating action button menu with smooth radial animations and modern design, perfect for mobile apps and creative interfaces.
Responsive Design
Yes
Dark Mode Support
No
lines
534
Browser Compatibility
No
Live Preview
Interact with the component without leaving the page.
Circular Floating Menu
An innovative circular floating action button (FAB) menu with smooth radial animations and modern design. Perfect for mobile applications and creative user interfaces that need quick access to multiple actions.
Features
- Radial Animation: Menu items expand in a circular pattern
- Smooth Transitions: Staggered animations for each menu item
- Touch Optimized: Designed for mobile and touch interactions
- Backdrop Overlay: Semi-transparent backdrop when menu is open
- Ripple Effects: Visual feedback on button interactions
- Keyboard Support: ESC key to close menu
- Accessibility: ARIA labels and proper focus management
Key Components
Floating Action Button (FAB)
- Main trigger button with gradient background
- Rotation animation when active
- Hover and scale effects
- Pulse animation to draw attention
Circular Menu Items
- Six action buttons arranged in a radial pattern
- Individual icons and labels
- Staggered entrance animations
- Hover and click feedback effects
Interactive Elements
- Backdrop overlay for menu dismissal
- Ripple effects on button press
- Scale animations on hover
- Touch gesture support
Customization Options
- Colors: Modify FAB and menu item colors
- Icons: Replace emoji icons with icon fonts
- Position: Adjust menu item positions in the circle
- Animation Speed: Customize transition durations
- Size: Scale button and menu item sizes
- Actions: Add or remove menu items
Animation Details
Opening Animation
- FAB rotates 45 degrees
- Menu items scale from 0 to 1
- Items move to their circular positions
- Staggered timing creates wave effect
Closing Animation
- Items scale back to 0
- Items rotate and move back to center
- FAB rotates back to original position
- Backdrop fades out
Usage Tips
- Limit menu items to 6-8 for optimal usability
- Use consistent icon styles and sizes
- Provide clear labels for accessibility
- Consider the menu’s position relative to content
- Test thoroughly on mobile devices
- Add haptic feedback for mobile apps
Browser Support
Works in all modern browsers. Uses CSS transforms, transitions, and modern JavaScript features for optimal performance.
HTML
67
lines
CSS
291
lines
JavaScript
176
lines
<div class="floating-menu-demo">
<div class="demo-content">
<h2>Circular Floating Menu Demo</h2>
<p>Click the floating action button (⊕) in the bottom right corner to open the circular menu.</p>
<p>Try clicking on different menu items to see the interactions.</p>
<div class="demo-cards">
<div class="demo-card">
<div class="card-icon">📱</div>
<h3>Mobile Friendly</h3>
<p>Optimized for touch interactions</p>
</div>
<div class="demo-card">
<div class="card-icon">🎨</div>
<h3>Creative Design</h3>
<p>Unique circular layout pattern</p>
</div>
<div class="demo-card">
<div class="card-icon">⚡</div>
<h3>Smooth Animations</h3>
<p>Fluid radial menu transitions</p>
</div>
</div>
</div>
<div class="floating-menu-container">
<div class="floating-menu" id="floatingMenu">
<button class="fab-main" id="fabMain" aria-label="Open menu">
<span class="fab-icon">⊕</span>
</button>
<div class="menu-items">
<button class="menu-item" data-action="home" style="--index: 0" aria-label="Home">
<span class="item-icon">🏠</span>
<span class="item-label">Home</span>
</button>
<button class="menu-item" data-action="search" style="--index: 1" aria-label="Search">
<span class="item-icon">🔍</span>
<span class="item-label">Search</span>
</button>
<button class="menu-item" data-action="favorites" style="--index: 2" aria-label="Favorites">
<span class="item-icon">❤️</span>
<span class="item-label">Favorites</span>
</button>
<button class="menu-item" data-action="profile" style="--index: 3" aria-label="Profile">
<span class="item-icon">👤</span>
<span class="item-label">Profile</span>
</button>
<button class="menu-item" data-action="settings" style="--index: 4" aria-label="Settings">
<span class="item-icon">⚙️</span>
<span class="item-label">Settings</span>
</button>
<button class="menu-item" data-action="messages" style="--index: 5" aria-label="Messages">
<span class="item-icon">💬</span>
<span class="item-label">Messages</span>
</button>
</div>
<div class="menu-backdrop" id="menuBackdrop"></div>
</div>
</div>
</div>