Firefox 30 ist nicht versteckt select-box, Pfeile mehr
Ich immer der "trick":
select {
-moz-appearance: none;
text-indent: 0.01px;
text-overflow: '';
}
führen Sie benutzerdefinierte Felder auswählen, die auf FF, aber seit version 30 veröffentlicht diese aufgehört zu arbeiten komplett. Ich habe versucht, um herauszufinden, ob diese veraltet, konnte aber nichts finden. Gibt es einen workaround oder eine andere Methode zu ersetzen?
InformationsquelleAutor der Frage Jaypee | 2014-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update
Ab Januar 2015, nun funktioniert das wieder mit der Veröffentlichung von Firefox 35. Siehe die Antwort weiter unten für historische Referenz.
Hintergrund
Den hack verwendet wurde, ist dies:
In meinen Tests, FF-29,
-moz-appearance:none;
hatte keine Auswirkungen. Was verursacht die Pfeil-Feld nicht angezeigt wurde, die zweiten zwei Zeilen. Er sagte, dass jeder überlauf wird durch einen leeren string ersetzt, und dann wird es verwendet, text-indent, um die Ursache zuselect
zum überlaufen. Da die Pfeil-box gerendert wird als ein einzelnes element, ähnlich einem einzelnen Buchstaben, dies verursacht, dass es ersetzt werden durch eine leere Zeichenkette.Was Passiert Ist
Jemand bei Mozilla aufgefallen, dass, wenn Sie haben Polsterung auf den dropdown -
select
der Pfeil ändert sich nicht groß. Laut bug-reportdieses Problem wurde nun behoben:Das problem ist, dass dieser sich hat scheiden lassen den Pfeil von der normalen CSS-Regeln. Ich habe versucht,
padding
text-indent
margin
white-space
text-wrap
und ein paar mehr, und ich kann nicht finden, alles, was, die Sie betreffen wird. an anderer Stelle um internetdie Leute sagen, die gleiche Sache, leider.Was Jetzt
Wir haben ein paar Optionen. Sie können ein overlay, kombiniert mit
pointer-events:none
Stil der dropdown-aber Sie wollen: TutorialKönnen Sie erstellen ein komplett separates dropdown zu ersetzen
select
mit Javascript: TutorialWir können auch beobachten Sie die Antrag auf Firefox-Bugzillaund hoffe, dass eines Tages Sie erstellen einen nicht-hacky Weg, dies zu tun. BITTE BEACHTEN Sie: gehen Sie nicht dort und starten Sie kommentieren zu wollen. Teil der Grund, warum es so verzögert ist, dass die Menschen warf einen Anfall. Es kann helfen,Stimme für die Ausgabe.
Update Sept. 2014
Dies ist nun aktiv gearbeitet für Firefox. 2 patches eingereicht worden und wurden noch nicht überprüft für eine Woche. Wahrscheinlich Szenario ist, dass dies macht es in FF35 Aurora, und wir haben ein paar Wochen für Sie zu erhalten, überprüft und genehmigt, bevor der cutoff-Datum (Firefox arbeitet auf eine 6-wöchige release-Zeitplan). Es könnte auch verzögert werden, und es könnte sogar theoretisch sein, "heben", was bedeutet gepatcht in der aktuellen Aurora-und Beta-Versionen, erschien früher.
Update Okt. 2014
Dieser, wie jetzt schon offiziell aufgelöst! Art. Ein patch, um Benutzern zu erlauben ausblenden der dropdown-arrow-element begangen worden ist, und wird geliefert mitFirefox 35 im Januar 2015.
Dies erlaubt nur Benutzern das ausblenden des Pfeils. Es Stil, ist eine andere Frage, die wurde ausgegliedert in ein bug-ticketdie zukünftig in Betracht gezogen werden.
Update Jan. 2015
Dies wurde nun behoben! Firefox 35 kam am 13. Januar, und Sie können nun
-moz-appearance:none
zu entfernen den Pfeil.InformationsquelleAutor der Antwort Andy Mercer
Ja ! Ist gut ! Thks
JS FIDDLE
InformationsquelleAutor der Antwort user3730166
Dieser scheint gut zu funktionieren in jeder größeren browser, sondern der IE. IE fällt wieder auf das Standard-dropdown-so, dass sollte nicht zu viel von einem problem.
InformationsquelleAutor der Antwort Tim Jongerius
Die Antwort geben, die von Mozilla Firefox zu diesem Thema ist einfach inakzeptabel. Der browser ist defekt und ist nichts mehr als eine offene Wunde für bösartigen code. Sie fördern die V29-30-browser ein Sicherheits-update, aber es dauerte über eine Woche, da der release-Termin für eine Benachrichtigung angezeigt werden, für V30.
Meine Antwort wird sein, nichts zu tun, und ich ermutige alle anderen Entwickler, das gleiche zu tun. Schließlich erhalten die Nutzer müde von der design-Inkonsistenzen und verlassen und Mozilla Firefox, wie Sie in noch größere zahlen.
Wenn eine vernünftige support-Anfrage wird ein treffen mit lauter Verachtung und anderen Browsern kann es tun, aber Mozilla Firefox nicht mehr kann. Es ist nicht an mir, zu beheben mein code, aber hat Mozilla Firefox zu beheben ihrigen!
InformationsquelleAutor der Antwort user1557757
Können Sie über diese Lösung für firefox, mit Lieferanten pseudo-Klasse: - moz-any() und pointer-Ereignisse, die nur für mozilla und wirken sich nicht auf andere Browser, denn beides ist gültig ab version 3.6.
hier ist ein jsbin-Beispiel
http://jsbin.com/pozomu/4/edit
InformationsquelleAutor der Antwort
Obwohl es ein ziemlich schmutziger hack, Sie können dieses Problem beheben, durch das hinzufügen einer weiteren overlay-element über den Pfeil nach unten in der CSS der select-wrapper (in meinem Fall .form-control select):
Mein HTML:
InformationsquelleAutor der Antwort totas
Ich meine Feste dieses Problem, indem Sie einige Stil zu div und wählen Sie individuell.
Jeder kann ändern Sie seine Breite, und anderen style-Eigenschaften, die a/c benötigt. 🙂
Hier ist die js-fiddle. JSFIDDLE
getestet auf allen Browsern.
wählen Sie::-ms-Erweiterung für den IE und -webkit-user-select: none für chrome.
InformationsquelleAutor der Antwort Rajdeep
Eine Möglichkeit ist, wickeln Sie die
select
Elemente im container-Elemente mitoverflow: hidden
. Erhöhen Sie die Breite desselect
Elemente, um die push-down-Pfeil auf der rechten Seite und aus dem Bild heraus. Dann fügen Sie einen Rahmen um den container-Elemente, entspricht derselect
Elemente.Das problem ist, dass dies Einfluss auf Stile festgelegt, die auf
focus
oder Fehler bei der Validierung, das ist, warum ich am Ende tun, was totas vorgeschlagen-und für die Pfeile mit pseudo-Elementen.InformationsquelleAutor der Antwort adrice727