Category · Navigation Menus Difficulty Level · Intermediate Published on · January 17, 2024

Circular Floating Menu

An innovative circular floating action button menu with smooth radial animations and modern design, perfect for mobile apps and creative interfaces.

#circular #floating #fab #radial #mobile

Responsive Design

Yes

Dark Mode Support

No

lines

534

Browser Compatibility

No

Live Preview

Interact with the component without leaving the page.

400px

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

  1. FAB rotates 45 degrees
  2. Menu items scale from 0 to 1
  3. Items move to their circular positions
  4. Staggered timing creates wave effect

Closing Animation

  1. Items scale back to 0
  2. Items rotate and move back to center
  3. FAB rotates back to original position
  4. Backdrop fades out

Usage Tips

  1. Limit menu items to 6-8 for optimal usability
  2. Use consistent icon styles and sizes
  3. Provide clear labels for accessibility
  4. Consider the menu’s position relative to content
  5. Test thoroughly on mobile devices
  6. 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>

              
67lines
2479characters
HTMLLanguage

Related Code Snippets

Explore template packs

Need larger building blocks? Browse responsive landing pages and component bundles.

Open HTML Template Library →