J'ai défini une image d'arrière-plan (flèche vers le bas) dans une zone de sélection après avoir défini l'attribut d'apparence du webkit sur aucun. Lorsque la liste d'options est ouverte, je souhaite afficher une autre image d'arrière-plan (flèche vers le haut). Y a-t-il une pseudo-classe ou quelque chose pour ça? Je n'ai rien trouvé pendant mes recherches ...
Il n'est pas possible de détecter si un élément HTML select
est ouvert en utilisant CSS, ou même javascript.
Si vous souhaitez personnaliser le symbole de flèche d'un menu déroulant personnalisé, votre meilleure option est d'utiliser un composant de menu déroulant personnalisé qui correspond à un élément select
caché.
vous pouvez utiliser le :focus
pseudo-classe.
Mais cela indiquera l'état "ouvert", également lorsque le <select>
est sélectionné via l'onglet ou un élément vient d'être sélectionné. Pour contourner cela, vous pouvez peut-être utiliser quelque chose comme select:hover:focus
mais c'est plutôt moche et ce n'est pas une solution solide.
select:focus {
background-color: blue;
color: white;
}
<select>
<option>Click me</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>