Menú desplegable para Blogger V3

Cómo Agregar un Menú Desplegable Responsive en Blogger

¿Quieres mejorar la navegación de tu blog con un menú moderno y adaptable a móviles? En este tutorial completo, te mostraré paso a paso cómo implementar un menú desplegable responsive en Blogger usando HTML, CSS y JavaScript. Este menú incluye efectos hover, submenús animados y un diseño completamente optimizado para todos los dispositivos.

Puede utilizar una herramienta llamada Editor HTML ONLINE, donde podrá realizar los cambios en vivo y luego copiar el código he insertarlo en un solo widget de Blogger, o una pagina web.

Editor HTML

A continuación puede ver su demostración en el siguiente blog de demos

📌 Pasos para Implementar el Menú en Blogger

1. Accede al Panel de Blogger

  • Inicia sesión en tu cuenta de Blogger
  • Ve a "Diseño" o "Tema" (dependiendo de la versión)
  • Haz clic en "Añadir un gadget" y selecciona "HTML/JavaScript"

2. Copia y Pega el Código Completo

Dentro del gadget, pega el siguiente código:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" integrity="sha512-9usAa10IRO0HhonpyAIVpjrylPvoDwiPUiKdWk5t3PyolY1cOd4DSE0Ga+ri4AuTroPR5aQvXU9xC6qOPnzFeg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <style>
        /* Estilos base del cuerpo */
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            padding-top: 70px;
        }

        /* Estilos generales del menú fijo */
        .menu-fixed {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            width: 100%;
            background-color: #f8f8f8;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        .menu {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            justify-content: center;
        }

        .menu-item {
            position: relative;
        }

        .menu-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 15px 20px;
            text-decoration: none;
            color: #333;
            transition: background-color 0.3s ease;
        }

        /* Colores por pestaña */
        .menu-item:nth-child(1) .menu-link { background-color: #a8dadc; color: #1d3557; }
        .menu-item:nth-child(2) .menu-link { background-color: #457b9d; color: #f1faee; }
        .menu-item:nth-child(3) .menu-link { background-color: #1d3557; color: #f1faee; }
        .menu-item:nth-child(4) .menu-link { background-color: #e63946; color: #f1faee; }

        /* Efecto hover */
        .menu-item:nth-child(1) .menu-link:hover { background-color: #86a8b7; }
        .menu-item:nth-child(2) .menu-link:hover { background-color: #355c7d; }
        .menu-item:nth-child(3) .menu-link:hover { background-color: #152540; }
        .menu-item:nth-child(4) .menu-link:hover { background-color: #b82e3a; }

        /* Bordes inferiores animados */


        .menu-item:not(.has-submenu) .menu-link:hover::after {
            width: 100%;
        }

        /* Submenús */
        .submenu {
            position: absolute;
            top: 100%;
            left: 0;
            background-color: #fff;
            list-style: none;
            padding: 0;
            margin: 0;
            border: 1px solid #ccc;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
            min-width: 200px;
        }

        .menu-item:hover > .submenu {
            opacity: 1;
            visibility: visible;
        }

        .submenu-item a {
            display: block;
            padding: 10px 15px;
            text-decoration: none;
            color: #333;
            transition: background-color 0.3s ease;
        }

        .submenu-item a:hover {
            background-color: #eee;
        }

        /* Icono en menú de escritorio */
        .menu-link i {
            font-size: 0.8em;
            margin-left: 10px;
        }

        /* Estilos para móvil */
        .menu-toggle {
            display: none;
            background: none;
            border: none;
            color: #333;
            font-size: 1.5em;
            padding: 10px 15px;
            cursor: pointer;
        }

        .mobile-menu {
            display: none;
            list-style: none;
            padding: 0;
            margin: 0;
            width: 100%;
            background-color: #f8f8f8;
        }

        .mobile-menu-item a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 15px;
            text-decoration: none;
            color: #333;
            border-bottom: 1px solid #eee;
        }

        .mobile-submenu {
            display: none;
            list-style: none;
            padding-left: 20px;
            margin: 0;
            background-color: #f0f0f0;
        }

        .mobile-submenu-item a {
            display: block;
            padding: 10px 15px;
            text-decoration: none;
            color: #555;
            border-bottom: 1px solid #ddd;
        }

        .mobile-menu-item a i {
            font-size: 0.8em;
            margin-left: 5px;
            transition: transform 0.3s ease;
        }

        .mobile-menu-item.active a i {
            transform: rotate(180deg);
        }

        /* Media query para móviles */
        @media (max-width: 768px) {
            .menu-fixed {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0 15px;
            }

            .menu {
                display: none;
            }

            .menu-toggle {
                display: block;
            }

            .mobile-menu.active {
                display: block;
              position: fixed;
        top: 46px;
        left: 0;
        right: 0;
        z-index: 1000;
        width: 100%;
    }
            }

            .menu-link i {
                display: none;
            }

            .menu-link::after {
                display: none;
            }
        }
    </style>

    <nav class="menu-fixed">
        <button class="menu-toggle" aria-expanded="false" aria-controls="mobile-menu">
            <i class="fas fa-bars"></i>
        </button>
        <ul class="menu">
            <li class="menu-item">
                <a href="#" class="menu-link">Inicio</a>
            </li>
            <li class="menu-item has-submenu">
                <a href="#" class="menu-link">Servicios <i class="fas fa-chevron-right"></i></a>
                <ul class="submenu">
                    <li class="submenu-item"><a href="#">Diseño Web</a></li>
                    <li class="submenu-item"><a href="#">Desarrollo Web</a></li>
                    <li class="submenu-item"><a href="#">Marketing Digital</a></li>
                </ul>
            </li>
            <li class="menu-item has-submenu">
                <a href="#" class="menu-link">Acerca de <i class="fas fa-chevron-right"></i></a>
                <ul class="submenu">
                    <li class="submenu-item"><a href="#">Nuestra Historia</a></li>
                    <li class="submenu-item"><a href="#">Nuestro Equipo</a></li>
                    <li class="submenu-item"><a href="#">Testimonios</a></li>
                </ul>
            </li>
            <li class="menu-item">
                <a href="#" class="menu-link">Contacto</a>
            </li>
        </ul>
    </nav>

    <ul class="mobile-menu" id="mobile-menu">
        <li class="mobile-menu-item">
            <a href="#">Inicio</a>
        </li>
        <li class="mobile-menu-item has-submenu-mobile">
            <a href="#">Servicios <i class="fas fa-chevron-down"></i></a>
            <ul class="mobile-submenu">
                <li class="mobile-submenu-item"><a href="#">Diseño Web</a></li>
                <li class="mobile-submenu-item"><a href="#">Desarrollo Web</a></li>
                <li class="mobile-submenu-item"><a href="#">Marketing Digital</a></li>
            </ul>
        </li>
        <li class="mobile-menu-item has-submenu-mobile">
            <a href="#">Acerca de <i class="fas fa-chevron-down"></i></a>
            <ul class="mobile-submenu">
                <li class="mobile-submenu-item"><a href="#">Nuestra Historia</a></li>
                <li class="mobile-submenu-item"><a href="#">Nuestro Equipo</a></li>
                <li class="mobile-submenu-item"><a href="#">Testimonios</a></li>
            </ul>
        </li>
        <li class="mobile-menu-item">
            <a href="#">Contacto</a>
        </li>
    </ul>

    <script>
        document.addEventListener('DOMContentLoaded', function() {
            const menuToggle = document.querySelector('.menu-toggle');
            const mobileMenu = document.getElementById('mobile-menu');
            const mobileSubmenuLinks = document.querySelectorAll('.mobile-menu-item.has-submenu-mobile > a');

            // Toggle mobile menu
            menuToggle.addEventListener('click', function() {
                const expanded = this.getAttribute('aria-expanded') === 'true';
                this.setAttribute('aria-expanded', !expanded);
                mobileMenu.classList.toggle('active');
            });

            // Toggle mobile submenus
            mobileSubmenuLinks.forEach(link => {
                link.addEventListener('click', function(e) {
                    e.preventDefault();
                    const submenu = this.nextElementSibling;
                    const parent = this.parentElement;
                    const isActive = submenu.style.display === 'block';

                    // Close all other submenus
                    document.querySelectorAll('.mobile-submenu').forEach(sub => {
                        sub.style.display = 'none';
                    });
                    document.querySelectorAll('.mobile-menu-item').forEach(item => {
                        item.classList.remove('active');
                    });

                    // Toggle current submenu
                    submenu.style.display = isActive ? 'none' : 'block';
                    parent.classList.toggle('active', !isActive);
                });
            });
        });
    </script>

3. Personaliza el Menú

Adapta el menú a tus necesidades:

  1. Cambia los enlaces (#): Reemplázalos con las URLs de tu blog
  2. Modifica los colores: Edita los códigos HEX en las clases CSS
  3. Añade más opciones: Copia y pega la estructura de <li class="menu-item"> para más elementos

4. Guarda y Previsualiza

Haz clic en "Guardar" y revisa tu blog en diferentes dispositivos para asegurarte de que el menú funcione correctamente.


🔍 Características Principales del Menú

  • Diseño completamente responsive que se adapta perfectamente a móviles, tablets y escritorio
  • Submenús desplegables con animaciones fluidas y suaves
  • Efectos hover para una mejor experiencia de usuario
  • Iconos modernos de Font Awesome integrados
  • Barra fija que permanece visible al hacer scroll
  • Menú acordeón en dispositivos móviles

📱 Funcionamiento en Dispositivos Móviles

En pantallas pequeñas (menores a 768px), el menú se transforma automáticamente:

  • Muestra un práctico botón de hamburguesa (☰)
  • Al hacer clic, se despliegan las opciones principales
  • Los submenús se expanden con un suave efecto al tocar las flechas (▼)
  • Diseño optimizado para táctil con áreas de toque generosas
Consejo profesional: Prueba siempre tu menú en varios dispositivos reales para asegurar la mejor experiencia de usuario.

🎨 Personalización Avanzada

Si deseas modificar más aspectos del diseño:

Cambiar Fuentes

.menu-link {
    font-family: 'Roboto', sans-serif;
    /* Añade esto en el CSS */
}

Modificar Velocidad de Animaciones

/* Tiempo de transición más rápido */
.submenu {
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

Añadir Efectos Adicionales

/* Efecto de sombra al hacer hover */
.menu-link:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

📢 Conclusión

Con este tutorial completo, ahora tienes todas las herramientas necesarias para implementar un menú profesional y responsive en tu blog de Blogger. Este diseño mejorará significativamente la experiencia de navegación de tus visitantes y le dará un aspecto moderno y pulido a tu sitio.

Recuerda que:

  • Puedes ajustar los colores para que coincidan con tu marca
  • El menú es completamente personalizable
  • Funciona perfectamente en todos los dispositivos
  • No requiere plugins adicionales

¿Tienes dudas o sugerencias? ¡Déjalas en los comentarios! Estaré encantado de ayudarte.

Recuerda suscribirte:

Obtenga nuestro boletín de noticias diario | Suscríbete gratuitamente SUSCRIBIRSE
¿Te ha resultado útil este artículo, recomiendanos?
Si



Share:

Luis Chávez

Soy el fundador del sitio web Ayudadeblogger.com - Considerado un Pro Blogger profesional, Consultor SEO y desarrollador Web adicto, ejecuto una serie de sitios web desde mi Oficina Quito-Ecuador.

Related post

Comentarios

11 comentarios:

  1. hola,pues a mi no me sale, no se ve nada

    ResponderEliminar
    Respuestas
    1. Hola Trinxat, con respecto a su pregunta, el código esta probado y funciona correctamente, tal vez algo estas haciendo mal.

      Saludos.

      Eliminar
  2. Necesito ayuda! la barra me sale en la parte inferior, que hice mal? que puedo cambiar?

    ResponderEliminar
    Respuestas
    1. Hola Valeria, con respecto a su pregunta, por favor hágame saber cual es la dirección URL de su blog de Blogger, como también especifique un poco mas su inconveniente

      Saludos.

      Eliminar
  3. hola kisiera q me ayudes, por la caja de comentarios de mi blog no cargar en el navegador Chrome?

    ResponderEliminar
    Respuestas
    1. Hola Zheyn, cual es la dirección URL de su blog de Blogger

      Eliminar
    2. el problema es q no carga la caja de comentarios de en el navegador chrome nod32licencia.blogspot.pe

      Eliminar
  4. Hola, lo primero enhorabuena por el blog y la ayuda que presta. Llevo intentando hace tiempo para hacer un menu despleglabe y siguiendo tus pasos a la primera. Queria saber si se puede poner el menu bajo la imagen de cabecera y en que parte del codigo debo detenerme para cambiar el formato de letra, el color de fondo y el la altura y anchura del menu.

    Un saludo.

    ResponderEliminar
    Respuestas
    1. Hola CMM, con respecto a su pregunta, remita la dirección URL de su blog de Blogger para poder ingresar y en que parte podría usted ubicar el menú, tal como lo indica, justo abajo de la cabecera principal.

      Sobre su otra pregunta: cambiar el fondo, siga las siguientes instrucciones:

      Busque esta linea de código

      #menu {
      background: #4f7ca1;

      - Cambie el codigo de color 4f7ca1 por un nuevo código de color, puede escoger un codigo de color de la siguiente lista de colores:

      http://www.ayudadeblogger.com/p/codigo-de-colores-para-blogs-de-blogger.html

      - Sobre su otra pregunta, altura y anchura del menu

      Busque la siguiente linea

      #menu {
      background: #4f7ca1;
      color: #fff;
      height: 50px;
      z-index: 9;
      width: 970px;
      margin: 0 auto;
      }

      Modifique, donde dice width: 970px cámbielo a 100%, le quedaría así:

      #menu {
      background: #4f7ca1;
      color: #fff;
      height: 50px;
      z-index: 9;
      width: 100%;
      margin: 0 auto;
      }

      La altura se encuentra en height: 50px

      - Ademas, tendra que encontrar la siguiente linea:

      #menu a {
      display: block;
      line-height: 48px;
      padding: 0 30px;
      text-decoration: none;
      color: #fff;
      }

      Cambie donde dice 48px esta es la altura de cada menú

      - El tipo de letra se encuentra en la siguiente linea:

      font: normal 0.9em Oswald;
      text-transform: uppercase;

      Saludos.





      Eliminar
    2. Muchisimas gracias. El blog es de prueba http://pruebascmm.blogspot.com.es/ para implementarlo mas tarde en monzonalpino.blogspot.com.

      He visto los tutoriales en su web sobre los menus responsives y me parecen muy interesantes, estado probando http://pruebascmm3.blogspot.com.es/ tengo alguna duda similar a la anterior. Las describo:
      - Como cambiar el color de fondo del menu y desplegables (verde a blanco)
      - Como cambiar el color de fondo(o que no cambie) cuando pasa el mouse en los desplegables
      - cambiar fuente y color de las letras
      - Como hacer para que cuando pase mouse por encima de un boton cambie el color de la fuente o en negrita
      - Quitar la sombra que aparece en el menu y centrarlo
      - Que se desplegue el menu cuando pasa el mouse sin tener que hacer click

      En resumen el estilo-estetica del pruebascmm hacerlo en el pruebascmm3.

      He probado pruebascmm3 en movil pero no aparece el menu en la version movil. Sale la pestaña de entradas normal reducida a movil, Tanto si hago click en version escritorio o en el explorador (chrome) le doy ver como pc me sale la web normal, lo que es evidente, pero no el menu responsive en ningun momento.


      Por ultimo, me gustaria quitar, ya he visto como hacerlo, la palabra "Ayudadeblogger" del menu, aunque me parecería muy justo que si usted tiene logo se lo añadiríamos en la sección de colaboradores con un link a su web como contraprestacion a la ayuda recibida.

      Un saludo.

      Eliminar
    3. Hola, son muchas pregunta, confusas en cada tema de sus blogs, le informo del por que no se muestra el menú en sus blogs es por que usted esta utilizando una platilla básica de las que Blogger regala en el sitio, es por ello que no se le va a mostrar el menú en un teléfono móvil,

      Sobre su otra pregunta retirar la palabra Ayudadeblogger, usted lo puede hacer, ya que en el tutorial que se presento dice que deben realizar los cambios con el nombre de su blog.

      Lo que dice Ayudadeblogger es solo un ejemplo, usted puede cambiar todo, siguiendo las instrucciones del tutorial:

      http://www.ayudadeblogger.com/2016/09/menu-responsive-desplegable-para-blogger-video-tutorial.html

      Saludos.

      Eliminar