Lors de la création de sites Web, vous ne disposez que d’un espace limité pour afficher l’ensemble de votre contenu. Pour profiter au maximum de cet espace, vous pouvezMenus déroulantsutiliser. Dans cet article, nous allons vous montrer comment utiliser HTML pour créer un menu déroulant que vous pouvez insérer dans la conception de votre site Web. UNMenu déroulantest une liste d'options qui n'apparaît que lorsque les utilisateurs cliquent ou survolent celles-ci. Les options du menu s'étendent verticalement vers le bas et disparaissent à nouveau après avoir quitté le menu. Les menus déroulants fournissent lesPossibilité de placer plus de contenu et de liens sur une page, sans les surcharger. Par conséquent, ils sont souvent utilisés sur les sites Web et les applications Web pour masquer les éléments que les utilisateurs n’ont plus besoin de voir après le chargement initial de la page, mais qu’ils souhaitent peut-être quand même utiliser. Fréquentcas d'utilisationpour les menus déroulants HTML sont : Les menus déroulants comprennentplusieurs pièces mobiles, qui doivent travailler ensemble pour garantir une expérience utilisateur transparente. Les menus déroulants qui ne fonctionnent pas comme prévu sont perçus comme très négatifs par les utilisateurs. C'est pourquoi c'est si important, euxêtre implémenté correctement en HTML. À quoi ressemble un menu déroulant complet ? Voici uneExemple de code de baseun menu déroulant HTML. La syntaxe est expliquée en détail ci-dessous. > Pour comprendre le fonctionnement des menus déroulants en HTML, vous deveztrois élémentssavoir : étiquette, sélection et option. Regardons chacun d'euxMots clésplus en détail. Avec le<étiquette>La balise crée une étiquette pour un menu ou une autre entrée utilisateur sur la page. Pour associer le label à un menu déroulant, l'attributpourutilisé, qui a sa valeur avec leidentifiant-Attribut de ce qui suit Lorsqu'un<étiquette>-Tagez de cette façon avec un Le Le Vous pouvez également utiliser les attributs facultatifsdésactivé(L'option du menu est désactivée) ouchoisi(l'option est automatiquement sélectionnée lors du chargement de la page). Un menu déroulant de base peut être facilement créé en HTML à l'aide de l'élément Insérer en premier<étiquette>élément dans votre document HTML. Insérer dans la balise de débutpourattribut avec un nom court pour le menu déroulant. Par exemple, si le menu déroulant contient une liste de noms de chiens, vous pouvez utiliser comme attributNoms de chienschoisir. Votre code HTML pourrait ressembler à ceci : Puis insérez Dans cet exemple, nous avons fixé pour leAttributnom et identifiantChiensfermement. Voici à quoi cela ressemble en HTML : Ajoutez enfinbalises entre les balises de début et de fin de l’élément select. Ajoutez autant d'options que vous souhaitez proposer au menu déroulant. Puis collezvaleurattribut dans chaque balise de début Et voici à quoi ressemble le résultat : Voir l'exemple du styloListe déroulante HTML uniquementpar HubSpot (@hubspot) surCodeStylo. Essayez-le par vous-même maintenant. Le module de code ci-dessus est modifiable. Basculez entre les onglets HTML et CSS, modifiez le code et cliquez sur Réexécuter en bas à droite. Lorsque vous créez un menu déroulant de cette façon, lepremière option répertoriée dans le code HTML à la valeur par défaut du menu déroulant, comme vous pouvez le voir dans l'exemple ci-dessus. Pour modifier la valeur par défaut, utilisez l'attribut booléenchoisi. Mettez-le simplement dans la balise de début de la balise Ci-aprèsExemplevous verrez un menu déroulant pour les options d'abonnement. Bien que les options incluent également un abonnement gratuit et bronze, l'attribut booléen utilise l'attribut booléen pour définir Silver par défaut. Voir l'exemple du styloUniquement liste déroulante HTML avec attribut booléenpar HubSpot (@hubspot) surCodeStylo. Essayez-le par vous-même maintenant. Le module de code ci-dessus est modifiable. Basculez entre les onglets HTML et CSS, modifiez le code et cliquez sur Réexécuter en bas à droite. Si vous souhaitez qu'un menu déroulant apparaisse lorsque les utilisateurs survolent un élément, vous devez utiliser HTML et CSS. Ci-dessous nous allonsprocessusexpliquer en détail. Créez d'abord unBalise divet ajoutez-y la classedéroulerajoutée. En CSS, paramétrez l'affichage de ce divbloc en ligneet le posterelatifun. Cela affichera le contenu du menu déroulant directement sous le bouton déroulant. Voici à quoi cela ressemble en HTML :Qu'est-ce qu'un menu déroulant HTML ?
Code du menu déroulant HTML
Syntaxe du menu déroulant HTML
étiquette
-Tags partages.-La balise est liée, lorsque vous cliquez sur l'élément « label », le focus est automatiquement dirigé vers l'élément de sélection.sélectionner
L'élément crée le menu déroulant. Il contientdeux attributs: nom et identifiant. L'attributidentifiantdoit avoir les mêmes valeurs que l'attribut for dans la balise -Le jour peut aussiplusieurs attributs facultatifscontenir. Ceux-ci sont:option
contient un ou plusieurs imbriqués-Mots clés. Chaque-Le jour représente unEntrée de menu. La balise de début doit avoir l'attributvaleurqui spécifie une valeur qui sera transmise lorsque cet élément de menu est sélectionné.Comment créer un menu déroulant en HTML
Étape 1 : Créer un élément « étiquette »
Étape 2 : Créez un élément « select »
élément après l’élément
Étape 3 : Créez des éléments d'option et placez-les dans l'élément « select »
Valeur par défaut du menu déroulant HTML
Comment créer un menu déroulant avec effet de survol
Étape 1 : Créez et stylisez une balise div avec le nom de classe « liste déroulante »
Voici à quoi cela ressemble en CSS :
.dérouler {
affichage : bloc en ligne ;
position : relative ;
}
Étape 2 : Créer l'élément avec effet de survol
Ensuite, créez unÉlément, qui affiche le menu déroulant lorsque les utilisateurs le survolent. Dans cet exemple, nous allons créer un bouton. Placez le bouton à l'intérieur de l'élément div.
Voici à quoi ressemble le code HTML jusqu'à présent :
Étape 3 : Créer et concevoir le contenu de la liste déroulante
Il est maintenant temps de créer le contenu réel de la liste déroulante, qui sera masqué jusqu'à ce que les utilisateurs passent le curseur de la souris sur le bouton. Dans l'exemple ci-dessous, nous inclurons trois liens dans le menu déroulant. Chacun des liens sera dans un élément div avec le nom de la classecontenu déroulantenfermé dans.
Voici le code HTML du contenu du menu déroulant :
En CSS, définissez l'affichage de cet élément divaucun, son posteabsoluet sa largeur100 %un. Cela garantit que le contenu du menu déroulant apparaît directement sous le bouton déroulant et a la même largeur que le bouton. Définissez également la propriété "débordement" surautopour permettre le défilement sur les petit* écrans. Enfin la propriétéboîte ombredéfini pour faire ressortir le contenu du menu déroulant de l'arrière-plan.
Voici à quoi cela ressemble en CSS :
.dropdown-contenu {
affichage : aucun ;
position : absolue ;
largeur : 100 % ;
débordement : automatique ;
ombre de la boîte : 0px 8px 16px 0px rgba(0,0,0,0.2);
}
Étape 4 : Définissez l'effet de survol du menu déroulant
Pour garantir que le contenu du menu déroulant est réellement affiché lorsque le pointeur de la souris est survolé, vous devez définir la propriété Display du div avec la pseudo classe:flotterindiquer. Cela définit un statut spécial de l'élément - dans ce cas, la façon dont il est affiché lorsque les utilisateurs déplacent le curseur de la souris dessus.
Voici à quoi cela ressemble en CSS :
.dropdown : survolez .dropdown-content {
bloc de visualisation;
}
Étape 5 : Stylisez les liens dans le menu déroulant
Sans style, les liens dans le menu déroulant seraient bleu clair, soulignés et affichés sans espacement. Pour une apparence plus attrayante, nous ajustons la couleur de la policenoir, la distance5pxet la propriétédécoration de textesuraucunun.
Voici à quoi cela ressemble en CSS :
.dropdown-content un {
bloc de visualisation;
couleur : #000000 ;
remplissage : 5 px ;
décoration de texte : aucune ;
}
Étape 6 : Changez la couleur des liens déroulants lorsque vous les survolez
Avec la pseudo classe:flotterVous pouvez également concevoir les liens de manière à ce que leur apparence change lorsque le pointeur de la souris les survole. Supposons que le texte et leCouleur de l'arrière pland'un lien doit être modifié lorsque les utilisateurs déplacent le curseur de la souris dessus.
Voici à quoi cela ressemble en CSS :
.dropdown-content a:hover {
couleur : #FFFFFF ;
couleur d'arrière-plan : #00A4BD ;
}
Ci-dessous vous pouvez voir le code complet et le résultat :
Voir l'exemple du styloMenu déroulant avec effet de survol avec lienspar HubSpot (@hubspot) surCodeStylo.
Essayez-le par vous-même maintenant. Le module de code ci-dessus est modifiable. Basculez entre les onglets HTML et CSS, modifiez le code et cliquez sur Réexécuter en bas à droite.
Menu déroulant à sélection multiple
Dans les exemples ci-dessus, les utilisateurs ne pouvaient sélectionner qu'une seule option dans le menu déroulant. Cependant, vous pouvez également créer un menu que les utilisateurs peuvent utiliserchoix multiplesdes offres. Il s'agit d'un menu déroulant à sélection multiple.
Pour créer un menu déroulant à sélection multiple, vous aurez besoinHTML, CSS et JavaScript. Voici un exemple créé par le développeur de jeux et d'applications Charlie Walter. Comme vous pouvez le voir, il utilise un élément de formulaire.
Voir l'exemple du styloSélection multiple (liste déroulante)de Charlie Walter (@cjonasw) surCodeStylo.
Essayez-le par vous-même maintenant. Le module de code ci-dessus est modifiable. Basculez entre les onglets HTML et CSS, modifiez le code et cliquez sur Réexécuter en bas à droite.
Menu déroulant HTML dans la barre de navigation
Si tu as unAjouter un menu déroulant à votre barre de navigationSi vous le souhaitez, les étapes sont un peu différentes. Mais avec quelques connaissances de base en HTML et CSS, vous pouvez facilement l'implémenter.
1. Recherchez ou créez l'élément
Tout d'abord, trouvez ceci
Nous vous recommandons d'ajouter une classe CSS à votre élément Nav afin que vous puissiez le styliser avec CSS. Dans cet exemple, nous utilisons la classe « navbar », c'est-à-dire H..
2. Ajoutez une liste non ordonnée à votre barre de navigation
Dans les didacticiels précédents, nous avons utilisé l'élément
La liste non ordonnée devient plus tard une liste de liens sur lesquels vos utilisateurs peuvent cliquer. Voici celuicode HTML de base, qui se trouve dans la navigation.
Voir l'exemple du styloMenu déroulant dans la barre de navigation Liste non ordonnéepar HubSpot (@hubspot) surCodeStylo.
3. Ajoutez un style CSS simple à votre barre de navigation
Ensuite, nous voulons çaConcevoir une barre de navigation avec CSS. Si votre site dispose déjà d'une barre de navigation ou que vous utilisez un thème existant, cela a été fait pour vous au préalable.
Sinon, nous définissons la propriété background-color#333, la situation de la propriété surrelatifet la propriété z-index999, afin que notre barre de navigation apparaisse au-dessus de tous les autres éléments et ne soit pas masquée.
Voici à quoi ressemble le code CSS :
Voir l'exemple du styloBarre de navigation du menu déroulant CSSpar HubSpot (@hubspot) surCodeStylo.
4. Ajoutez un style CSS à votre liste non ordonnée
Pour rappel: La liste non triée devient votre menu déroulant. Mais nous voulons faire en sorte qu'il apparaisse également lorsque les utilisateurs le survolent.
Dans le CSS suivant, nous spécifions que nous concevons la liste non ordonnée dans la barre de navigation en spécifiant la classe dans le sélecteur. Cela signifie:.navbar ul(la liste non ordonnée de votre menu),.navbar il(les éléments de liste non ordonnés de votre menu) et.navbar li a(les liens vers les éléments de la liste de votre menu identifiés par le sélecteur a). De cette façon, le thème que vous définissez ici ne s'appliquera pas à toutes les listes ou liens non ordonnés de votre site.
Initialement défini dans le sélecteur.navbar ulla propriété list-style-typeaucunun. Cela garantit qu’il n’y a pas de puces ou de tirets avant les éléments de la liste. Ensuite, définissez la marge et le remplissage0un. Cependant, vous pouvez ajuster ces chiffres à votre guise.
Voir l'exemple du styloListe déroulante non ordonnée CSSpar HubSpot (@hubspot) surCodeStylo.
Puis définissez dans le sélecteur.navbar illa propriété d'affichage surbloc en ligneun. Cela garantit que les éléments de votre menu déroulant apparaissent les uns en dessous des autres et qu'ils ne s'interrompent pas entre eux ni avec d'autres éléments de la page.
Voir l'exemple du styloMenu déroulant Liste non ordonnée CSS – barre de navigation lipar HubSpot (@hubspot) surCodeStylo.
Enfin vous pouvez utiliser le sélecteur.navbar li aConfigurez-le pour changer l’apparence de vos liens. Vous pouvez ajuster la couleur de la police, l'espacement et la décoration du texte, mais assurez-vous de définir la propriété d'affichage surblocest réglé. De cette façon, le lien occupe toute la largeur du menu déroulant et ne couvre pas seulement le texte lui-même.
Voir l'exemple du styloMenu déroulant Liste non ordonnée CSS – barre de navigation li apar HubSpot (@hubspot) surCodeStylo.
5. Stylisez le menu déroulant avec CSS
Enfin, il est temps d'en acheter un tout nouveauMenu déroulantmis en place pour qu'ils'affiche lorsque le pointeur de la souris passe dessuset n'apparaît plus statique sur la page, comme ce serait le cas avec une liste normale non ordonnée.
Pour ce faire, nous concevons d'abord le sélecteur.navbar ul ul. Définir la propriété de positionabsolupour que le menu reste dépendant de son parent (la barre de navigation).
Ensuite, définissez la propriété d'affichageaucunafin que le menu déroulant soit masqué par défaut et n'apparaisse que lorsque les utilisateurs le survolent.
Voir l'exemple du styloMenu déroulant CSS – barre de navigation vers le hautpar HubSpot (@hubspot) surCodeStylo.
Ensuite, nous concevons les sélecteurs.navbar ul ul liet.navbar li: survolez ul, qui pointent tous deux vers les éléments de la liste dans votre menu déroulant. Définir la propriété d'affichage pour les deuxblocpour qu'ils apparaissent les uns sur les autres.
Voir l'exemple du styloMenu déroulant CSS – barre de navigation sur toutpar HubSpot (@hubspot) surCodeStylo.
Enfin, nous souhaitons changer la couleur d’arrière-plan des liens déroulants lorsque le curseur de la souris les survole. Utilisez le sélecteur CSS.navbar ul li a: survolet remplacez la propriété background-color par le code couleur HTML de votre choix.
Voir l'exemple du styloMenu déroulant CSS – barre de navigation en survolpar HubSpot (@hubspot) surCodeStylo.
Ci-dessous vous pouvez voir le code complet et le résultat :
Voir l'exemple du styloMenu déroulant HTML dans la barre de navigationpar HubSpot (@hubspot) surCodeStylo.
Essayez-le par vous-même maintenant. Le module de code ci-dessus est modifiable. Basculez entre les onglets HTML et CSS, modifiez le code et cliquez sur Réexécuter en bas à droite.
Accessibilité du menu déroulant HTML
Il y a un autre aspect de vos menus déroulants que nous n'avons pas encore mentionné, mais il est important de le noter :Accessibilité. L'accessibilité du Web est le principe selon lequel toutes les expériences en ligne doivent être utilisables par tous, avec une attention particulière pour les utilisateurs ayant des limitations physiques, visuelles et cognitives.
Les menus déroulants doivent être accessibles, afin que ces utilisateurs puissent parcourir votre site Web, soumettre des formulaires et effectuer d'autres actions comme n'importe qui d'autre. Sinon, ils pourraient mettre plus de temps à trouver ce qu'ils recherchent ou ne pas être en mesure d'utiliser du tout certaines parties de votre site.
Lors de la conception d'un menu déroulant en HTML, vous devez prendre en compte certainsBonnes pratiques en matière d'accessibilitéobserver:
- utiliserpas trop de niveauxdans votre menu déroulant, car cela rend la navigation difficile pour les utilisateurs ayant des problèmes moteurs. Si votre menu contient plus d'un niveau de sous-menu (c'est-à-dire un menu dans un menu au sein de votre menu principal), vous devriez probablement restructurer votre menu/site Web.
- Tous les menussur votre page, y compris les menus déroulants,doit être navigable à l'aide des touches Tab et Entréeêtre. Utilisez la touche Tab pour avancer dans les éléments du menu et utilisez la touche Entrée pour ouvrir ou fermer le menu.
- Évitez les pièges du clavier. Cela se produit lorsque les utilisateurs peuvent naviguer dans les éléments d'un menu à l'aide de la touche de tabulation, mais ne peuvent pas fermer le menu et restent donc bloqués.
- Pour les menus activés avec le pointeur de la souris, configurez unTemporisation(environ une seconde)entre retirer le pointeur de la souris du menu et fermer le menuun. Cela signifie que les utilisateurs ayant une motricité fine limitée peuvent utiliser le menu même s'ils déplacent accidentellement le curseur de la souris.
- MourirUtiliser le HTML sémantiqueNon seulement cela rend votre code plus facile à comprendre, mais cela rend également vos menus accessibles aux lecteurs d'écran.
Conclusion : créez facilement des menus déroulants en HTML
Même avec seulement quelquesHTML- et des connaissances CSS que vous pouvezmenus déroulants simples, intuitifs et visuellement attrayantspour votre site Web. Vous pouvez configurer votre menu déroulant pour qu'il s'ouvre lorsque vous cliquez ou passez la souris dessus, économisant ainsi un espace précieux sans coûts d'interaction élevés. C'est pourquoi les menus déroulants existent toujoursingrédient importantchaque site Web.
Image de couverture : dima_sidelnikov / iStock / Getty Images Plus
Publié initialement le 12 septembre 2023 à 02:00:00, mis à jour le 12 septembre 2023
Sujets:
HTML