Menu déroulant CSS
- Page précédente Barre de navigation horizontale CSS
- Page suivante Galeries d'images 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>
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>
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; }
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 :


2 - Menu déroulant
Comment ajouter un menu déroulant dans la barre de navigation.
- Page précédente Barre de navigation horizontale CSS
- Page suivante Galeries d'images CSS