J'ai trouvé une solution, mais c'est la mère de tous les hacks, nous espérons qu'il servira de point de départ pour d'autres plus robuste de solutions. Le revers de la médaille (trop grand à mon avis) c'est que n'importe quel navigateur qui ne prend pas en charge text-shadow
mais supporte rgba
(IE 9) de ne pas rendre le texte moins d'utiliser une bibliothèque comme Modernizr (pas testé, juste une théorie).
Firefox utilise la couleur du texte pour déterminer la couleur de la bordure en pointillé. Donc dire que si vous ne...
select {
color: rgba(0,0,0,0);
}
Firefox rendu de la bordure en pointillé transparent. Mais bien sûr, votre texte sera transparent! Nous devons donc en quelque sorte l'affichage du texte. text-shadow
vient à la rescousse:
select {
color: rgba(0,0,0,0);
text-shadow: 0 0 0 #000;
}
Nous avons mis un texte de l'ombre à pas décalés et pas de flou, de sorte que remplace le texte. Bien sûr, ancien navigateur de ne pas comprendre quoi que ce soit, nous devons donc fournir une solution de repli pour la couleur:
select {
color: #000;
color: rgba(0,0,0,0);
text-shadow: 0 0 0 #000;
}
C'est quand IE9 entre en jeu: il supporte rgba
mais pas de texte de l'ombre, de sorte que vous obtiendrez un apparemment vide de la boîte de sélection. Obtenez votre version de Modernizr avec text-shadow
de détection et de faire...
.no-textshadow select {
color: #000;
}
Profitez de.