Comment le style de la <option> uniquement avec du CSS?
Remarque: Cette question n'est pas de faire un custom menu déroulant. C'est seulement sur les possibilités de style <option>
éléments au sein de la sélectionner l'élément en CSS
Comment puis-je style <option>
s d'un <select>
élément avec la compatibilité inter-navigateur? Je sais que beaucoup de JavaScript moyens qui personnaliser le menu pour convertir en <li>
, dont je ne suis pas en demandant au sujet.
<select class="select">
<option selected>Select</option>
<option>Blue</option>
<option >Red</option>
<option>Green</option>
<option>Yellow</option>
<option>Brown</option>
</select>
Je me demande ce qui pourrait être possible avec CSS, avec compatibilité pour IE9+, Firefox et Chrome.
Je veux un style comme ceci ou aussi près que possible.
J'ai essayé ici http://jsfiddle.net/jitendravyas/juwz3/3/, mais Chrome ne présente pas de style à l'exception de la couleur de la police, tandis que Firefox affiche un peu plus. Comment obtenir de la frontière et le rembourrage de travail en Chrome trop?
- Il ne s'agit que d'
<option>
pas l'ensemble de la liste déroulante - Je ne suis pas sûr que ce soit la même. Cette question vous demande si vous pouvez le style de la
<select>
élément de l'apparence de la page. Cette question vous demande si vous pouvez le style de la liste de<option>
éléments. <select>
et<option>
sont différents. voir, par exemple, cette extension il ne de style<select>
pas<option>
cssglobe.com/lab/style_select/01.html- droit, mais il vaut la peine de la contestation dans les commentaires afin que d'autres n'ont pas aveuglément fermer sans une évaluation adéquate des deux questions elles-mêmes. Bien sûr, c'est quelque chose qu'ils devraient faire de toute façon...
- Pour l'amour de dieu ce n'est PAS un doublon de l'un des deux liées à des questions (qui, par la façon dont sont différents l'un de l'autre). On est seul sur le style et sélectionnez pas l'option, alors que celui-ci lui demande également de style les options, et les autres n'est pas la seule-css/no-js exigence.
- Je suis malade de voir des questions à tort marqué comme en double, ou mal fermé, en restant pendant des années, en dépit d'avoir été révélée fausse.
- Facilement 😉 CodePen
- L'ajout de "taille" à la balise select comme fait toutes les options visibles sans avoir à cliquer sur le select... est-il un moyen de l'éviter, et de masquer les options comme normal?
- codepen.io/lambder/stylo/NbmwRb
- Ce n'est pas un doublon ! Toutes les autres réponses expliquer comment le style de l'élément select quand il n'est PAS actif. Celui-ci a été d'essayer de se demander comment le style dans le menu déroulant lui-même, c'est à dire lors de la sélection est active et que la souris est pressé !
Vous devez vous connecter pour publier un commentaire.
ÉDITION 2015 Peut
Avertissement: j'ai pris l'extrait de la réponse en lien ci-dessous:
Mise À Jour Importante!
En plus de WebKit, comme de Firefox 35 nous allons être en mesure d'utiliser le
appearance
propriété:Maintenant afin de masquer le défaut de style, c'est aussi facile que d'ajouter les règles suivantes sur notre sélectionner l'élément:
Pour IE 11, vous pouvez utiliser [
::-ms-expand
][15].Vieille Réponse
Malheureusement, ce que vous demandez n'est pas possible à l'aide de pur CSS. Cependant, voici quelque chose de similaire que vous pouvez choisir pour que cela fonctionne. Vérifiez le code en direct ci-dessous.
CSS:
HTML:
MODIFIER
Ici est la question que vous avez posée il y a quelques temps.
Comment le style d'un <select> liste déroulante avec les CSS sans JavaScript?
Comme on dit là-bas, seulement dans le Chrome et dans une certaine mesure, dans Firefox, vous pouvez réaliser ce que vous voulez. Sinon, malheureusement, il n'y a pas de croix-navigateur pur CSS solution pour le style d'une sélection.
<select>
. l'utilisation de<div>
est pas sémantiquement correct.option
tags avec le css, mais vous ne pouvez pas, vous ne pouvez le style de laselect
tag. Ce qui est indiqué dans le cette réponseIl n'y a pas de croix-navigateur de la manière de style option éléments, certainement pas à la mesure de votre deuxième capture d'écran. Vous pourriez être en mesure de les rendre gras, taille de police, mais qui sera à ce sujet...
J'ai joué avec la sélection des éléments avant et sans écraser les fonctionnalités de JavaScript, je ne pense pas que c'est possible dans Chrome. Si vous utilisez un plugin ou écrire votre propre code CSS est un no go pour google Chrome/Safari et comme vous l'avez dit, Firefox, il y a mieux à faire avec elle.