web-dev-qa-db-fra.com

Changer la couleur de surbrillance <select>

Comment changer la couleur de surbrillance de <select> c'est la couleur qui met en valeur <li> pendant que le curseur passe dessus en utilisant CSS?

20
ArK

Je ne sais pas ce que tu veux dire par "la couleur qui met en valeur <li> ", mais il semble que vous souhaitiez modifier la couleur d'arrière-plan de <option> éléments. Je l'ai essayé et cela ne fonctionne pas, vous obtenez toujours la couleur du système.

Si vous vouliez mettre en évidence l'ensemble du <select> élément au survol de la souris, cela fonctionne un peu:

select:hover { background-color: red; }

Cependant, le comportement est différent dans différents navigateurs. Par exemple, Chrome ne met pas en surbrillance les options dans le menu déroulant; Firefox le fait, mais il ne les modifie pas en arrière si vous éloignez la souris et qu'elles sont toujours tirées vers le bas.

Comme cela a été dit sur de nombreuses questions similaires, vous ne pouvez pas styliser de manière fiable les contrôles de formulaire . Voir ici pour plus de détails.

21
DisgruntledGoat

Vous ne pouvez pas changer la couleur de surbrillance des options par quelque chose comme -> background:#f9f9f9

Vous pouvez faire quelque chose comme ça:

            select > option:hover{
                box-shadow: 0 0 10px 100px #FED20F inset;
                transition: all .2s ease-in-out;
            }
4
Cosmin

Comme mentionné ci-dessus, la configuration de background-color fonctionnera cependant :hover est bogué dans IE7 - définir votre doctype sur strict vous aidera.

0
George Wiscombe