Accordion Menu

Intermediate

A collapsible accordion-style menu with smooth animations and nested submenu support, perfect for organizing complex navigation structures.

Live Preview

Code Implementation

HTML
<div class="accordion-menu-demo">
  <div class="demo-content">
    <h2>Accordion Menu Demo</h2>
    <p>Click on menu items with arrows to expand/collapse sections. This menu supports nested submenus and smooth animations.</p>
    
    <div class="demo-features">
      <div class="feature-item">
        <div class="feature-icon">πŸ“</div>
        <span>Nested Structure</span>
      </div>
      <div class="feature-item">
        <div class="feature-icon">🎯</div>
        <span>Smooth Animations</span>
      </div>
      <div class="feature-item">
        <div class="feature-icon">πŸ“±</div>
        <span>Mobile Friendly</span>
      </div>
    </div>
  </div>
  
  <div class="accordion-menu-container">
    <nav class="accordion-menu" id="accordionMenu">
      <div class="menu-header">
        <h3>Navigation Menu</h3>
      </div>
      
      <ul class="menu-list">
        <li class="menu-item">
          <a href="#" class="menu-link" data-action="dashboard">
            <span class="menu-icon">🏠</span>
            <span class="menu-text">Dashboard</span>
          </a>
        </li>
        
        <li class="menu-item has-submenu">
          <button class="menu-link submenu-toggle" data-submenu="products">
            <span class="menu-icon">πŸ“¦</span>
            <span class="menu-text">Products</span>
            <span class="menu-arrow">β–Ό</span>
          </button>
          <ul class="submenu" id="products-submenu">
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="all-products">
                <span class="submenu-icon">πŸ“‹</span>
                <span class="submenu-text">All Products</span>
              </a>
            </li>
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="add-product">
                <span class="submenu-icon">βž•</span>
                <span class="submenu-text">Add Product</span>
              </a>
            </li>
            <li class="submenu-item has-nested">
              <button class="submenu-link nested-toggle" data-nested="categories">
                <span class="submenu-icon">🏷️</span>
                <span class="submenu-text">Categories</span>
                <span class="nested-arrow">β–Ό</span>
              </button>
              <ul class="nested-menu" id="categories-nested">
                <li class="nested-item">
                  <a href="#" class="nested-link" data-action="electronics">
                    <span class="nested-text">Electronics</span>
                  </a>
                </li>
                <li class="nested-item">
                  <a href="#" class="nested-link" data-action="clothing">
                    <span class="nested-text">Clothing</span>
                  </a>
                </li>
                <li class="nested-item">
                  <a href="#" class="nested-link" data-action="books">
                    <span class="nested-text">Books</span>
                  </a>
                </li>
              </ul>
            </li>
          </ul>
        </li>
        
        <li class="menu-item has-submenu">
          <button class="menu-link submenu-toggle" data-submenu="orders">
            <span class="menu-icon">πŸ›’</span>
            <span class="menu-text">Orders</span>
            <span class="menu-arrow">β–Ό</span>
          </button>
          <ul class="submenu" id="orders-submenu">
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="pending-orders">
                <span class="submenu-icon">⏳</span>
                <span class="submenu-text">Pending Orders</span>
              </a>
            </li>
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="completed-orders">
                <span class="submenu-icon">βœ…</span>
                <span class="submenu-text">Completed Orders</span>
              </a>
            </li>
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="order-history">
                <span class="submenu-icon">πŸ“Š</span>
                <span class="submenu-text">Order History</span>
              </a>
            </li>
          </ul>
        </li>
        
        <li class="menu-item has-submenu">
          <button class="menu-link submenu-toggle" data-submenu="users">
            <span class="menu-icon">πŸ‘₯</span>
            <span class="menu-text">Users</span>
            <span class="menu-arrow">β–Ό</span>
          </button>
          <ul class="submenu" id="users-submenu">
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="all-users">
                <span class="submenu-icon">πŸ‘€</span>
                <span class="submenu-text">All Users</span>
              </a>
            </li>
            <li class="submenu-item">
              <a href="#" class="submenu-link" data-action="user-roles">
                <span class="submenu-icon">πŸ”</span>
                <span class="submenu-text">User Roles</span>
              </a>
            </li>
          </ul>
        </li>
        
        <li class="menu-item">
          <a href="#" class="menu-link" data-action="analytics">
            <span class="menu-icon">πŸ“ˆ</span>
            <span class="menu-text">Analytics</span>
          </a>
        </li>
        
        <li class="menu-item">
          <a href="#" class="menu-link" data-action="settings">
            <span class="menu-icon">βš™οΈ</span>
            <span class="menu-text">Settings</span>
          </a>
        </li>
      </ul>
    </nav>
  </div>
</div>

Snippet Features

Responsive Design: Yes
Dark Mode Support: No
Category: navigation-menus
Difficulty Level: Intermediate