Menú desplegable CSS

Use CSS para crear un efecto de menú desplegable que se muestre al pasar el mouse.


Ejemplo de menú desplegable

Demo 1

Demo 2

Demo 3


Menú desplegable básico

Cuando el mouse se mueve sobre el elemento especificado, aparece el menú desplegable.

Ejemplo

<style> .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); padding: 12px 16px; } .dropdown:hover .dropdown-content { display: block; } </style>
<div class="dropdown"> <span>¡Pasa el mouse sobre mí!</span> <div class="dropdown-content"> <p>Ejemplo</p> <p>www.example.com</p> </div> </div>

Pruébalo »

Análisis del ejemplo

Parte HTML:

Podemos usar cualquier elemento HTML para abrir el menú desplegable, como: <span>, o un elemento <button>.

Use un elemento contenedor (por ejemplo, <div>) para crear el contenido del menú desplegable y colóquelo en cualquier lugar que desee.

Use un elemento <div> para envolver estos elementos y use CSS para definir el estilo del contenido desplegable.

Parte CSS:

.dropdownUso de la claseposition:relative, esto hará que el contenido del menú desplegable se coloque en el botón desplegable (usandoposition:absolute) de la esquina inferior derecha.

.dropdown-contentLa clase es el menú desplegable real. Está oculto por defecto y se mostrará cuando el mouse se mueva sobre el elemento especificado. Nota:min-widthel valor se establece en 160px. Puedes modificarlo libremente.Nota:Si deseas que el contenido desplegable tenga el mismo ancho que el botón desplegable, puedes establecerwidthal 100% (overflow:autola configuración permite el desplazamiento en pantallas pequeñas).

Usamosbox-shadowla propiedad para que el menú desplegable parezca una "tarjeta".

:hoverEl selector se usa para mostrar el menú desplegable cuando el usuario mueve el mouse sobre el botón desplegable.


Menú desplegable

Crea un menú desplegable y permite al usuario elegir un elemento de la lista:

Este ejemplo es similar al anterior. Aquí agregamos enlaces a la lista desplegable y les aplicamos estilos:

Ejemplo

<style>
/* Estilo del botón desplegable */
.dropbtn {
    background-color: #4C7EAF;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

/* Contenedor <div> - necesario para posicionar el contenido desplegable */
.dropdown {
    position: relative;
    display: inline-block;
}

/* Contenido desplegable (oculto por defecto) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

/* Enlace del menú desplegable */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

/* Cambia el color del enlace del menú desplegable al pasar el mouse */
.dropdown-content a:hover {background-color: #f1f1f1}

/* Muestra el menú desplegable al pasar el mouse */
.dropdown:hover .dropdown-content {
    display: block;
}

/* Cambia el color de fondo del botón desplegable cuando se muestra el contenido desplegable */
.dropdown:hover .dropbtn {
    background-color: #4877A6;
}
</style>

<div class="dropdown">
  <button class="dropbtn">Menú desplegable</button>
  <div class="dropdown-content">
    <a href="#">Ejemplo 1</a>
    <a href="#">Ejemplo 2</a>
    <a href="#">Ejemplo 3</a>
  </div>
</div>

Pruébalo »

Alineación del contenido desplegable

float:left;

float:right;

Si desea que el contenido del menú desplegable con flotación derecha se oriente de derecha a izquierda en lugar de izquierda a derecha, puede agregar el siguiente código:right: 0;

Ejemplo

.dropdown-content {
    right: 0;
}
Pruébalo »

Más ejemplos

Desplegable con imagen
Este ejemplo demuestra cómo agregar una imagen a un menú desplegable.

Desplegable en la barra de navegación
Este ejemplo demuestra cómo agregar un menú desplegable a la barra de navegación.

Otras extensiones