Maison > interface Web > tutoriel CSS > le corps du texte

Comment puis-je créer un menu déroulant qui affiche des images au lieu du texte ?

Patricia Arquette
Libérer: 2024-11-08 05:23:02
original
787 Les gens l'ont consulté

How can I create a dropdown menu that displays images instead of text?

Affichage des images dans les options de liste déroulante

Créer une sélection déroulante contenant des images au lieu de texte peut s'avérer difficile. Bien que la combobox jQuery ait été proposée, elle repose sur la fourniture d'options de texte accompagnées d'images. Pour remplacer entièrement le texte par des images, une approche différente est nécessaire.

Une solution CSS intelligente

Pour ce cas d'utilisation spécifique, où les images représentent les épaisseurs de ligne dans un application de peinture, aucun JavaScript n'est requis. Au lieu de cela, nous pouvons exploiter les boutons radio et CSS pour créer l'effet souhaité.

Structure HTML

<div>
Copier après la connexion

Style CSS

#image-dropdown {
    border: 1px solid black;
    width: 200px;
    height: 50px;
    overflow: hidden;
    transition: height 0.1s;
}
#image-dropdown:hover {
    height: 200px; 
    overflow-y: scroll;
    transition: height 0.5s;
}
#image-dropdown input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
#image-dropdown label {
    display: none; 
    margin: 2px; 
    height: 46px; 
    opacity: 0.2; 
    background: url("http://www.google.com/images/srpr/logo3w.png") 50% 50%;
}
#image-dropdown:hover label {
    display: block;
}
#image-dropdown input:checked + label {
    opacity: 1 !important; 
    display: block;
}
Copier après la connexion

Comment ça marche

L'astuce réside dans l'association des labels à la radio boutons utilisant les attributs "for" et "id". Lorsqu'un label est cliqué, le bouton radio correspondant est activé. Le style CSS garantit que :

  • Dans l'état réduit, seule l'étiquette du bouton radio sélectionné est visible.
  • Lorsque la liste déroulante est développée (au survol), toutes les étiquettes sont affichées.
  • Les étiquettes suivant les boutons radio cochés restent visibles même à l'état réduit.

En attribuant des images d'arrière-plan à étiquettes, les options déroulantes apparaissent sous forme d’images. Cette approche remplace efficacement le texte par des images, obtenant ainsi la fonctionnalité souhaitée sans JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!