Categoría · Menús de Navegación Nivel de Dificultad · Intermedio Publicado el · 17 de enero de 2024

Menú Desplegable Multinivel

Un sistema de navegación sofisticado con múltiples niveles de menús desplegables, animaciones suaves, navegación por teclado y diseño responsivo para jerarquías complejas de sitios web.

#dropdown #multi-level #navigation #responsive #animated

Diseño Responsivo

Soporte para Modo Oscuro

No

líneas

1154

Compatibilidad del Navegador

No

Vista Previa en Vivo

Interactúa con el componente sin salir de la página.

400px

Menú Desplegable Multinivel

Un sistema de navegación sofisticado que presenta múltiples niveles de menús desplegables con animaciones suaves, navegación completa por teclado y diseño responsivo para móviles. Perfecto para sitios web complejos con jerarquías de contenido profundas.

Características

  • Navegación Multinivel: Soporte para 3+ niveles de menús anidados
  • Animaciones Suaves: Transiciones elegantes y efectos de hover
  • Navegación por Teclado: Navegación completa con teclas de flecha y soporte ARIA
  • Responsivo para Móviles: Menú móvil plegable con interacciones táctiles amigables
  • Variaciones de Tema: Múltiples temas visuales (Predeterminado, Oscuro, Minimalista, Colorido)
  • Accesibilidad: Cumple con WCAG con atributos ARIA apropiados
  • Retroalimentación Visual: Indicadores de hover, estados de carga y confirmaciones de usuario
  • Soporte Táctil: Optimizado para interacciones tanto de mouse como táctiles

Componentes Clave

Estructura de Navegación

  • Navegación Principal: Elementos de navegación de nivel superior
  • Menús Desplegables: Elementos de menú de segundo nivel con iconos
  • Submenús: Elementos de menú anidados de tercer nivel
  • Alternador Móvil: Menú hamburguesa para dispositivos móviles

Elementos Interactivos

  • Activación por Hover: Funcionalidad de abrir al pasar el cursor en escritorio
  • Activación por Clic: Funcionalidad de abrir al tocar en móvil
  • Navegación por Teclado: Soporte para teclas de flecha, Enter, Escape y Tab
  • Gestión de Enfoque: Manejo apropiado del enfoque e indicadores visuales

Sistema de Temas

  • Tema Predeterminado: Fondo blanco limpio con acentos azules
  • Tema Oscuro: Fondo oscuro con texto claro
  • Tema Minimalista: Diseño simplificado con sombras sutiles
  • Tema Colorido: Fondo degradado con colores vibrantes

Niveles de Navegación

Nivel 1: Navegación Principal

  • Inicio, Productos, Soluciones, Recursos, Contacto
  • Diseño horizontal con indicadores de hover
  • Navegación por teclado con teclas de flecha

Nivel 2: Menús Desplegables

  • Categorías de productos, tipos de soluciones, secciones de recursos
  • Desplegable vertical con iconos y descripciones
  • Animaciones suaves de deslizamiento

Nivel 3: Submenús

  • Elementos específicos dentro de categorías
  • Paneles de submenú que se deslizan lateralmente
  • Iconos contextuales y etiquetado claro

Teclas de Navegación

  • Teclas de Flecha: Navegar entre elementos del menú
  • Enter/Espacio: Activar elementos del menú
  • Escape: Cerrar todos los menús abiertos
  • Tab: Navegación estándar por tabulación
  • Inicio/Fin: Saltar al primer/último elemento

Comportamiento de Navegación

  • Flecha Derecha: Abrir submenú o moverse al siguiente nivel
  • Flecha Izquierda: Cerrar submenú o moverse al nivel anterior
  • Flechas Arriba/Abajo: Navegar dentro del nivel de menú actual
  • Escape: Cerrar todos los menús y volver a la navegación principal

Responsividad Móvil

Características del Menú Móvil

  • Botón alternador hamburguesa con animación
  • Menú de superposición de pantalla completa
  • Expansión desplegable estilo acordeón
  • Tamaños de botón amigables al tacto
  • Soporte para gestos de deslizamiento
  • Tocar para expandir menús desplegables
  • Estructura de acordeón anidada
  • Jerarquía visual clara
  • Navegación fácil con el pulgar

Características de Accesibilidad

Soporte ARIA

  • role="navigation" para navegación principal
  • role="menubar" y role="menu" para estructuras de menú
  • role="menuitem" para elementos individuales del menú
  • aria-haspopup y aria-expanded para estados desplegables
  • aria-label para etiquetas descriptivas del menú

Gestión de Enfoque

  • Indicadores de enfoque visibles
  • Orden lógico de tabulación
  • Captura de enfoque dentro de menús abiertos
  • Atajos de teclado para navegación rápida

Soporte para Lectores de Pantalla

  • Etiquetas descriptivas para todos los elementos interactivos
  • Anuncios de estado para cambios de estado del menú
  • Comunicación clara de jerarquía
  • Texto alternativo para iconos

Detalles de Animación

Animaciones del Menú

  1. Deslizamiento Desplegable: Animación suave de deslizamiento hacia abajo para desplegables
  2. Deslizamiento de Submenú: Animación de deslizamiento lateral para submenús
  3. Transiciones de Desvanecimiento: Cambios de opacidad para aparición suave
  4. Animación Escalonada: Animaciones secuenciales de elementos para atractivo visual
  5. Efectos de Hover: Transiciones sutiles de escala y color

Estados de Carga

  • Animaciones de spinner para carga de menú
  • Marcadores de posición esqueleto para contenido
  • Mejora progresiva

Organización de Contenido

Menú de Productos

  • Desarrollo Web: Frontend, Backend, Móvil, Herramientas
  • Servicios de Diseño: UI/UX, Diseño Gráfico, Prototipado, Marca
  • Soluciones en la Nube: Servicios de infraestructura y despliegue
  • Servicios de Seguridad: Servicios de ciberseguridad y protección

Menú de Soluciones

  • Empresarial: Sistemas a gran escala, Análisis, Seguridad
  • Pequeñas Empresas: Paquetes iniciales, Herramientas de negocio, Soluciones de crecimiento
  • Educativo: Recursos de aprendizaje y capacitación

Menú de Recursos

  • Documentación: Guías técnicas y referencias
  • Tutoriales en Video: Contenido de aprendizaje paso a paso
  • Foro de la Comunidad: Discusiones de usuarios y soporte
  • Blog: Últimas noticias e insights

Opciones de Personalización

Personalización Visual

  • Colores: Esquemas de colores primarios, secundarios y de acento
  • Tipografía: Familias de fuentes, tamaños y pesos
  • Espaciado: Ajustes de padding, márgenes y gaps
  • Sombras: Variaciones de sombra de caja y profundidades
  • Bordes: Estilos de borde, colores y radio

Personalización de Comportamiento

  • Temporización: Configuraciones de duración y retraso de animación
  • Disparadores: Preferencias de activación por hover vs clic
  • Puntos de Quiebre Móviles: Puntos de quiebre de diseño responsivo
  • Posicionamiento del Menú: Alineación izquierda, derecha o centrada

Consideraciones de Rendimiento

  • Manejo Eficiente de Eventos: Oyentes de eventos delegados
  • Transformaciones CSS: Animaciones aceleradas por hardware
  • Carga Perezosa: Carga de contenido de submenú bajo demanda
  • Interacciones Debounced: Manejadores optimizados de hover y redimensionamiento
  • Manipulación Mínima del DOM: Gestión eficiente del estado

Compatibilidad de Navegadores

Soporta todos los navegadores modernos con degradación elegante:

  • Chrome 60+
  • Firefox 55+
  • Safari 12+
  • Edge 79+
  • Navegadores móviles con soporte táctil

Consejos de Uso

  1. Mantener Profundidad de Menú Razonable: Limitar a 3 niveles para usabilidad
  2. Usar Etiquetas Descriptivas: Nombres de elementos de menú claros y concisos
  3. Implementar Estados de Carga: Mostrar retroalimentación para contenido dinámico
  4. Probar Navegación por Teclado: Asegurar que todos los elementos sean accesibles
  5. Optimizar para Tacto: Tamaños de botón adecuados para móvil
  6. Considerar Ancho del Menú: Prevenir desplazamiento horizontal
  7. Usar HTML Semántico: Marcado apropiado para accesibilidad

Características Avanzadas

Carga de Contenido Dinámico

  • Contenido de submenú alimentado por AJAX
  • Actualizaciones de menú en tiempo real
  • Personalización de menú específica del usuario

Integración de Búsqueda

  • Funcionalidad de búsqueda dentro del menú
  • Sugerencias de autocompletado
  • Resaltado de resultados de búsqueda

Integración de Análisis

  • Seguimiento de interacciones del menú
  • Análisis de comportamiento del usuario
  • Soporte para pruebas A/B

HTML

246

líneas

CSS

496

líneas

JavaScript

412

líneas


                <div class="multi-dropdown-demo">
  <div class="demo-content">
    <h2>Demo de Menú Desplegable Multinivel</h2>
    <p>Un sistema de navegación integral con múltiples niveles de menús desplegables, animaciones suaves y accesibilidad completa por teclado. Perfecto para sitios web complejos con jerarquías de contenido profundas.</p>
    
    <div class="demo-controls">
      <h3>Opciones del Menú:</h3>
      <div class="control-buttons">
        <button class="control-btn active" data-theme="default">Predeterminado</button>
        <button class="control-btn" data-theme="dark">Oscuro</button>
        <button class="control-btn" data-theme="minimal">Minimalista</button>
        <button class="control-btn" data-theme="colorful">Colorido</button>
      </div>
    </div>
  </div>
  
  <div class="menu-container">
    <nav class="multi-dropdown-nav default-theme" role="navigation" aria-label="Navegación principal">
      <div class="nav-brand">
        <span class="brand-icon">🚀</span>
        <span class="brand-text">NavDemo</span>
      </div>
      
      <ul class="nav-menu" role="menubar">
        <li class="nav-item" role="none">
          <a href="#" class="nav-link" role="menuitem" aria-haspopup="false">Inicio</a>
        </li>
        
        <li class="nav-item has-dropdown" role="none">
          <a href="#" class="nav-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
            Productos
            <span class="dropdown-icon">▼</span>
          </a>
          <ul class="dropdown-menu" role="menu" aria-label="Submenú de productos">
            <li class="dropdown-item has-submenu" role="none">
              <a href="#" class="dropdown-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
                Desarrollo Web
                <span class="submenu-icon">▶</span>
              </a>
              <ul class="submenu" role="menu" aria-label="Submenú de desarrollo web">
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🌐</span>
                    Frameworks Frontend
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">⚙️</span>
                    Soluciones Backend
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">📱</span>
                    Desarrollo Móvil
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🔧</span>
                    Herramientas de Desarrollo
                  </a>
                </li>
              </ul>
            </li>
            
            <li class="dropdown-item has-submenu" role="none">
              <a href="#" class="dropdown-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
                Servicios de Diseño
                <span class="submenu-icon">▶</span>
              </a>
              <ul class="submenu" role="menu" aria-label="Submenú de servicios de diseño">
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🎨</span>
                    Diseño UI/UX
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🖼️</span>
                    Diseño Gráfico
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">📐</span>
                    Prototipado
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🎭</span>
                    Identidad de Marca
                  </a>
                </li>
              </ul>
            </li>
            
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">☁️</span>
                Soluciones en la Nube
              </a>
            </li>
            
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">🔒</span>
                Servicios de Seguridad
              </a>
            </li>
          </ul>
        </li>
        
        <li class="nav-item has-dropdown" role="none">
          <a href="#" class="nav-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
            Soluciones
            <span class="dropdown-icon">▼</span>
          </a>
          <ul class="dropdown-menu" role="menu" aria-label="Submenú de soluciones">
            <li class="dropdown-item has-submenu" role="none">
              <a href="#" class="dropdown-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
                Empresarial
                <span class="submenu-icon">▶</span>
              </a>
              <ul class="submenu" role="menu" aria-label="Submenú empresarial">
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🏢</span>
                    Sistemas a Gran Escala
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">📊</span>
                    Plataforma de Análisis
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🔐</span>
                    Marco de Seguridad
                  </a>
                </li>
              </ul>
            </li>
            
            <li class="dropdown-item has-submenu" role="none">
              <a href="#" class="dropdown-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
                Pequeñas Empresas
                <span class="submenu-icon">▶</span>
              </a>
              <ul class="submenu" role="menu" aria-label="Submenú de pequeñas empresas">
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">🏪</span>
                    Paquetes Iniciales
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">💼</span>
                    Herramientas de Negocio
                  </a>
                </li>
                <li role="none">
                  <a href="#" class="submenu-link" role="menuitem">
                    <span class="item-icon">📈</span>
                    Soluciones de Crecimiento
                  </a>
                </li>
              </ul>
            </li>
            
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">🎓</span>
                Educativo
              </a>
            </li>
          </ul>
        </li>
        
        <li class="nav-item has-dropdown" role="none">
          <a href="#" class="nav-link" role="menuitem" aria-haspopup="true" aria-expanded="false">
            Recursos
            <span class="dropdown-icon">▼</span>
          </a>
          <ul class="dropdown-menu" role="menu" aria-label="Submenú de recursos">
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">📚</span>
                Documentación
              </a>
            </li>
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">🎥</span>
                Tutoriales en Video
              </a>
            </li>
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">💬</span>
                Foro de la Comunidad
              </a>
            </li>
            <li class="dropdown-item" role="none">
              <a href="#" class="dropdown-link" role="menuitem">
                <span class="item-icon">📝</span>
                Blog
              </a>
            </li>
          </ul>
        </li>
        
        <li class="nav-item" role="none">
          <a href="#" class="nav-link" role="menuitem" aria-haspopup="false">Contacto</a>
        </li>
      </ul>
      
      <div class="nav-toggle" aria-label="Alternar menú de navegación" role="button" tabindex="0">
        <span class="hamburger-line"></span>
        <span class="hamburger-line"></span>
        <span class="hamburger-line"></span>
      </div>
    </nav>
    
    <div class="menu-info">
      <div class="info-item">
        <span class="info-label">Tema:</span>
        <span class="info-value" id="currentTheme">Predeterminado</span>
      </div>
      <div class="info-item">
        <span class="info-label">Menú Activo:</span>
        <span class="info-value" id="activeMenu">Ninguno</span>
      </div>
      <div class="info-item">
        <span class="info-label">Profundidad del Menú:</span>
        <span class="info-value" id="menuDepth">0</span>
      </div>
    </div>
  </div>
</div>

              
246líneas
9977caracteres
HTMLIdioma

Fragmentos de Código Relacionados

Explora packs de plantillas

¿Necesitas bloques más grandes? Descubre landings y colecciones de componentes.

Abrir la biblioteca de plantillas →