Menu déroulant CSS

Créez une liste déroulante flottante avec CSS.

Démonstration : Cas de menu déroulant

Exemple

Déplacez le pointeur de la souris sur l'exemple suivant :

Menu déroulant de base

Créez un menu déroulant qui apparaît lorsque l'utilisateur place la souris sur l'élément.

Exemple

<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;
  z-index: 1;
}
.dropdown:hover .dropdown-content {
  display: block;
}
</style>
<div class="dropdown">
  <span>Survol moi avec la souris</span>
  <div class="dropdown-content">
    <p>Hello World!</p>
  </div>
</div>

Essayer vous-même

Exemple d'explication :

HTML

Ouvrez le contenu du menu déroulant avec n'importe quel élément, par exemple avec un élément <span> ou <button>.

Créez le contenu du menu déroulant en utilisant un élément conteneur (comme <div>) et ajoutez-y tout contenu souhaité.

Utilisez l'élément <div> pour envelopper ces éléments et positionner correctement le contenu du menu déroulant avec CSS.

CSS

.dropdown La classe position:relative,lorsque nous souhaitons placer le contenu du menu déroulant directement sous le bouton déroulant (en utilisant position:absolute), il est nécessaire d'utiliser cette classe.

.dropdown-content La classe sauvegarde le contenu réel du menu déroulant. Par défaut, il est caché et s'affichera lors du survol (voir ci-dessous). Notez que,min-width Défini à 160px. Vous pouvez modifier ce réglage à tout moment. Astuce : Si vous souhaitez que la largeur du contenu déroulant soit égale à celle du bouton déroulant, définissez la largeur sur 100% (réglage overflow:auto Peut être mis en roulement sur l'écran de petite taille).

Nous avons utilisé CSS box-shadow les propriétés, plutôt que les bords, pour que le menu déroulant ressemble à une carte.

Lorsque l'utilisateur place le curseur sur le bouton du menu déroulant,:hover Le sélecteur est utilisé pour afficher le menu déroulant.

Menu déroulant

Créez un menu déroulant et permettez à l'utilisateur de sélectionner une option de la liste :

L'exemple suivant est similaire à celui-ci, sauf que nous avons ajouté un lien dans le cadre du menu déroulant et avons défini son style pour correspondre à celui du bouton du menu déroulant :

Exemple

<style>
/* Définissez le style du bouton du menu déroulant */
.dropbtn {
  background-color: #4CAF50;
  color: white;
  padding: 16px;
  font-size: 16px;
  border: none;
  cursor: pointer;
}
/* Conteneur <div> - nécessite de placer le contenu du menu déroulant à l'intérieur */
.dropdown {
  position: relative;
  display: inline-block;
}
/* Cachez le contenu du menu déroulant par défaut */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
/* Liens du menu déroulant */
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}
/* Changez la couleur du lien lorsque le curseur est dessus */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Affichez le menu déroulant lorsque le curseur est dessus */
.dropdown:hover .dropdown-content {
  display: block;
}
/* Affichez le contenu du menu déroulant en changeant la couleur de fond du bouton du menu déroulant */
.dropdown:hover .dropbtn {
  background-color: #3e8e41;
}
</style>
<div class="dropdown">
  <button class="dropbtn">Dropdown</button>
  <div class="dropdown-content">
    <a href="#">Lien 1</a>
    <a href="#">Lien 2</a>
    <a href="#">Lien 3</a>
  </div>
</div>

Essayer vous-même

Contenu du menu déroulant aligné à droite

Si vous souhaitez que le menu déroulant s'ouvre de droite à gauche plutôt que de gauche à droite, ajoutez right: 0;

Exemple

.dropdown-content {
  right: 0;
}

Essayer vous-même

Plus d'exemples

1 - Image déroulante

Comment ajouter des images et d'autres contenus dans le menu déroulant.

Placez le pointeur de la souris sur l'image :

Essayer vous-même

2 - Menu déroulant

Comment ajouter un menu déroulant dans la barre de navigation.

Essayer vous-même