Gibt es eine Möglichkeit, <input type="file">
in allen Browsern mit CSS gleich aussehen zu lassen?<input type = "file"> - custom styles/css
Antwort
Quirksmode.org hat einen interessanten Artikel über sie: http://www.quirksmode.org/dom/inputfile.html
dies versuchen -
- ein normales nehmen und es in einem Element mit position: relative.
- Zu diesem gleichen übergeordneten Element, fügen Sie eine normal und ein Bild, die haben die richtigen Stile. Position diese Elemente absolut, so dass sie den gleichen Platz wie die einnehmen.
- Setzen Sie den Z-Index der auf 2, so dass es auf oben auf dem gestylten Eingang/Bild liegt.
- Schließlich stellen Sie die Opazität des auf 0 jetzt Das wird effektiv unsichtbar, und die Stile Eingabe/Bild durchscheint, aber man kann immer noch klicken Sie auf „Durchsuchen“ Taste. Wenn die Schaltfläche oben auf dem Bild positioniert ist, scheint der Benutzer auf das Bild zu klicken und erhält die normale Dateiauswahl Fenster. (Beachten Sie, dass Sie Sichtbarkeit nicht verwenden können, weil ein wirklich unsichtbares Element nicht clickable ist, auch, und wir müssen das klickbare bleiben) Bis hier kann der Effekt durch reines CSS erzielt werden. Jedoch fehlt noch ein Merkmal .
- Wenn der Benutzer eine Datei ausgewählt hat, das sichtbare, gefälschte Eingabefeld sollte zeigt den richtigen Pfad zu dieser Datei als normale würde. Es ist einfach eine Frage von Kopieren Sie den neuen Wert der auf die falsche Eingabe Feld, aber wir müssen JavaScript zu tun dies.
Weitere Details - http://www.quirksmode.org/dom/inputfile.html
Sie versuchen swfupload verwenden könnten, ein Open-Source-Projekt, das anstelle der Datei-Eingabe eine kleine Flash-Datei auf der Seite bettet ... können Sie CSS verwenden, um die Schaltfläche Stil, löst den Flash-Upload wie gewünscht aus.
Nachteil: Es kann schwierig zu arbeiten sein, und natürlich müssen Ihre Benutzer Flash haben.
Upside: mehrere Dateien sind gleichzeitig im Upload-Dialog wählbar!
können Sie einfach Ihren eigenen Dateieingabeknopf stylen. Setzen Sie einfach das CSS-Attribut Ihres Eingabeelements auf auf style="display:none"
und behandeln Sie ein Klickereignis in JavaScript. weiterlesen: Using hidden file input elements using the click() method
EDIT: stellt sich heraus, dass dies aus Sicherheitsgründen nicht mehr funktioniert. ein kleiner hack ist es, den css style auf visibility:hidden
zu setzen. Hier ist eine JSFiddle, wo ich meine <input>
Feld irgendwo am Ende meiner Seite und triggern die OpenFileDialog mit einem <a>
Element.
//html
<input id="openFileDialog" type="file" id="files" name="files[]" accept=".json, .txt" />
//js
$("#openFile").on("click", function() {
//throws an error if browser doesn't support file upload
checkFileApiCompatibility();
//opens File Dialog
$("#openFileDialog").click();
$("#openFileDialog").on('change', function(){
openFile(this);
});
});
- 1. Unterschied zwischen <input type = 'button' /> und <input type = 'submit' />
- 2. CSS-Selektor für <input type = "?"
- 3. Validieren <input type = "date">
- 4. Verständnis <input type = "file">
- 5. <input type = "search"> nicht styling
- 6. ändern input type = "text" input type = "password" onfocus()
- 7. AngularJS: nicht input type
- 8. Wie input type Datei
- 9. input type range styling
- 10. HTML-Helfer für <input type = "file" />
- 11. Kann haml machen <input type = "text" erforderlich>
- 12. Hinzufügen multidiemnsionall Array <input type = checkbox>
- 13. Können wir <input type = "file"> style ändern?
- 14. Zusätzliche Auffüllung in <input type = "text">
- 15. <input type = 'hidden'> über html dtd
- 16. <input type = "checkbox" /> Warum der Schrägstrich in meteor.js?
- 17. Wie macht man <input type = "file" /> editierbar?
- 18. HTML <input type = 'file'> Dateiauswahl-Ereignis
- 19. Html Helfer für <input type = "file" />
- 20. Dateipfad übergeben bei Verwendung von <input type = "file">
- 21. Kann ich Platzhalter in <input type = „Zeit“ />
- 22. Wie füge ich Text in <input type = "file" />
- 23. <input type = "submit"> Padding Fehler auf Safari mobile?
- 24. Wie style <input type = "text"> in IE6 CSS?
- 25. Deaktivieren Sie die Texteingabe in <input type = "number">
- 26. Steuern Sie das Arbeitsverzeichnis für <input type = "file">?
- 27. <input type = "file"> Positionierung Probleme in IE11 Browser
- 28. Swift Klasse Custom Type Eigenschaft
- 29. input [type = "submit"] in jQuery
- 30. Breite input type = text Element
Dupes: http://stackoverflow.com/search?q=style+input+file –
möglich Duplikat (http [Wie "Eingabedatei" mit CSS3/Javascript stylen?]: // Stackoverflow. com/questions/3226167/how-to-style-Eingabedatei-mit-css3-javascript) –
nette Frage ... aber ich habe alles versucht, funktioniert nicht ... hoffe, jemand hat die Antwort! –